Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dropzone.js-上传文件后如何向文件对象添加新属性_Javascript_Jquery_File Upload_Dropzone.js - Fatal编程技术网

Javascript Dropzone.js-上传文件后如何向文件对象添加新属性

Javascript Dropzone.js-上传文件后如何向文件对象添加新属性,javascript,jquery,file-upload,dropzone.js,Javascript,Jquery,File Upload,Dropzone.js,我使用dropzone和PHP上传和删除文件。当我加载我的上传页面时,我用以下参数创建一些mock文件:名称、大小、缩略图和id。这个mock是使用预先上传的数据设置的 因此,当有人单击RemoveFile按钮时,我调用删除图像的php方法 我的问题是当用户上传一个文件并试图在不加载页面的情况下删除它时。发生这种情况时,dropzone文件对象就是无法更改 我正在努力: var dropZone3 = new Dropzone("#file3",{ ini

我使用dropzone和PHP上传和删除文件。当我加载我的上传页面时,我用以下参数创建一些mock文件:名称、大小、缩略图和id。这个mock是使用预先上传的数据设置的

因此,当有人单击RemoveFile按钮时,我调用删除图像的php方法

我的问题是当用户上传一个文件并试图在不加载页面的情况下删除它时。发生这种情况时,dropzone文件对象就是无法更改

我正在努力:

var dropZone3 = new Dropzone("#file3",{
                    init: function() {
                        this.on('success', function (file) {
                            console.log(file);
                            file['test'] = 'test';
                            file.test = 'test';
                            console.log(file);
                        })
                    },
                    paramName: 'file3',
                    autoProcessQueue:true,
                    uploadMultiple: false,
                    parallelUploads: 1,
                    maxFiles: 3,
                    maxFilesize: 5,
                    addRemoveLinks: true
我的问题是,函数init on success中的第一个console.log和第二个console.log显示了相同的文件

有人知道怎么修吗


提前感谢。

如果文件对象已经上载,您不认为可以将其添加到文件对象中,但您可以在之前在
接受属性中添加该属性:

var dropZone3 = new Dropzone("#file3", {
    url: "upload.php",
    init: function () {
        this.on('success', function (file) {
            console.log(file);
        })
    },
    accept: function(file, done) {
        file.test = "test";
        return done();
    },
    paramName: 'file3',
    autoProcessQueue: true,
    uploadMultiple: false,
    parallelUploads: 1,
    maxFiles: 3,
    maxFilesize: 5,
    addRemoveLinks: true
});

可以将属性直接添加到
文件
对象(dropzone v4.3.0)

var dropZone = new Dropzone(document.querySelector('.js-dropzone'), {
  url: '/file/upload'
});

dropZone.on('success', function (file, response) {
  var res = JSON.parse(response);

  if (res.result == true) {
    file.test = 'test';
    file.id = res.id;
  }
});