Saltar al contenido

Jquery Dropzone.js cambia el ancho de la miniatura al 100%

Encontramos la contestación a esta inconveniente, o por lo menos eso creemos. Si sigues con dudas puedes dejarlo en el apartado de preguntas, que sin tardar

Solución:

No puede especificar un porcentaje en thumbnailWidth y thumbnailHeight. Dropzone usa estos valores para crear la fuente de la imagen para mostrarla como una vista previa.

Pero puede dejar la miniatura en el ancho y alto originales, estableciendo estos valores en null(Tenga en cuenta que esto puede causar un poco de retraso con imágenes de alta resolución.) y luego use el

anchura y altura attributes para visualizar la imagen con el tamaño que desee y ajustando el .dz-image contenedor con css.

html:

js:

Dropzone.autoDiscover = false;

Dropzone.options.myDropzone = 
    url: "yourUrl",
    thumbnailWidth: null,
    thumbnailHeight: null,
    init: function() 
        this.on("thumbnail", function(file, dataUrl) 
            $('.dz-image').last().find('img').attr(width: '100%', height: '100%');
        ),
        this.on("success", function(file) 
            $('.dz-image').css("width":"100%", "height":"auto");
        )
    
;

var myDropzone = new Dropzone('div#myDropzone');

Necesitaba lograr miniaturas receptivas con dropzone y esta publicación me ayudó mucho. También necesitaba hacerlo sin jquery, así que esto es lo que se me ocurrió. Pensé que lo compartiría si ayuda a alguien más.

Mi función de inicio de dropzone se ve así:

init: function () 
    this.on('thumbnail', function(file, dataUrl) 
        var thumbs = document.querySelectorAll('.dz-image');
        [].forEach.call(thumbs, function (thumb) 
            var img = thumb.querySelector('img');
            if (img) 
                img.setAttribute('width', '100%');
                img.setAttribute('height', '100%');
            
        );
    ),
    this.on('success', function(file) 
        var thumbs = document.querySelectorAll('.dz-image');
        [].forEach.call(thumbs, function (thumb) 
            thumb.style = 'width: 100%; height: auto;';
        );
    )

No soy un asistente de JavaScript, por lo que probablemente haya una forma más eficiente o mejor de hacer esto. ¡Por favor comparte!

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *