Javascript Dropzone.js-上传文件后如何向文件对象添加新属性
我使用dropzone和PHP上传和删除文件。当我加载我的上传页面时,我用以下参数创建一些mock文件:名称、大小、缩略图和id。这个mock是使用预先上传的数据设置的 因此,当有人单击RemoveFile按钮时,我调用删除图像的php方法 我的问题是当用户上传一个文件并试图在不加载页面的情况下删除它时。发生这种情况时,dropzone文件对象就是无法更改 我正在努力: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
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;
}
});