Saltar al contenido

Dropzone.js: cómo cambiar el nombre del archivo antes de cargarlo en la carpeta

Nuestros mejores investigadores agotaron sus reservas de café, investigando día y noche por la resolución, hasta que Noé encontró la respuesta en Beanstalk por lo tanto en este momento la compartimos con nosotros.

Solución:

Verifique el siguiente código que he implementado usando PHP.

Use el siguiente código en su archivo de índice

$(document).ready(function() 
            Dropzone.autoDiscover = false;
            var fileList = new Array;
            var i =0;
            $("#some-dropzone").dropzone(
                addRemoveLinks: true,
                init: function() 

                    // Hack: Add the dropzone class to the element
                    $(this.element).addClass("dropzone");

                    this.on("success", function(file, serverFileName) 
                        fileList[i] = "serverFileName" : serverFileName, "fileName" : file.name,"fileId" : i ;
                        //console.log(fileList);
                        i++;

                    );
                    this.on("removedfile", function(file) 
                        var rmvFile = "";
                        for(f=0;f

Subir.php

getTimestamp().$_FILES['file']['name'];
    $targetFile =  $targetPath.$newFileName;  // Create the absolute path of the uploaded file destination.
    move_uploaded_file($tempFile,$targetFile); // Move uploaded file to destination.

    echo $newFileName;

?>

eliminar_archivos_temp.php


Espero que esto sea útil para cargar imágenes usando ajax y eliminarlas usando ajax 🙂

He encontrado de las siguientes referencias:

Dropzone.js- ¿Cómo eliminar archivos del servidor? Botón de eliminación de Dropzone.js con php

También agregue el siguiente código en su archivo dropzone.js después de la línea # 1110 para evitar que el usuario cargue archivos duplicados con el mismo nombre 🙂

Dropzone.prototype.addFile = function(file) {
    if (this.files.length) 
        var _i, _len;
        for (_i = 0, _len = this.files.length; _i < _len; _i++) 
            if(this.files[_i].name === file.name && this.files[_i].size === file.size) 
                return false;
        
    

Enlace de referencia: https://www.bountysource.com/issues/2993843-dropzone-did-not-check-the-duplicate-file-on-addfile?utm_campaign=plugin&utm_content=tracker%2F283989&utm_medium=issues&utm_source=github

Para prefix el nombre del archivo con una marca de tiempo cada vez antes de cargar, tiene dos opciones dependiendo de su versión de DropzoneJS.

Las versiones más nuevas de DropzoneJS 5.1+ tiene un renameFile función que se utiliza de la siguiente manera:

    ...
    renameFile: function (file) 
        return new Date().getTime() + '_' + file.name;
    
    ...

En versiones anteriores v4.3 - v5.1 esto se hace un poco diferente.

En estas versiones hay un renameFilename opción, esto se usa así:

Dropzone.autoDiscover = false;
$(document).ready(function () 
    $(".dropzone").dropzone(
        renameFilename: function (filename) 
            return new Date().getTime() + '_' + filename;
        
    );
);

Feliz codificación, Kalasch

Si conservas algún reparo o capacidad de acrecentar nuestro escrito eres capaz de realizar una explicación y con mucho gusto lo ojearemos.

¡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 *