2016-03-02 70 views
2

我使用Dropzone.js来处理文件的上传。我真的很想在上传到S3之前修改文件的原始名称。这将是很好,只是能够使用dropzone's processing file hook如下图所示,但它似乎没有任何的变化我对这个文件对象坚持...Dropzone JS在上传之前更改文件名

myDropone.on('processingfile', function(file) { 
    console.log(file.name) // 'Randy.png' 
    file.name = 'my-custom-name.png'; 
    console.log(file.name) // 'Randy.png' 
}); 

即使试图修改此文件对象在控制台变化不会持续。我失去了我的脑海里......

enter image description here

有谁看到我在这里失踪?或者,在使用Dropzone上传文件之前,是否有更好的方法来修改文件的名称?

回答

4

文件是一个HTML 5文件对象,而一些它的属性是只读的,你可以看到here

但是,你可以设置一个新的属性为喜欢你的文件对象:

myDropone.on("sending", function(file) { 
    file.myCustomName = "my-new-name" + file.name; 
    console.log(file.myCustomName); 
}); 

编辑:另外,文件说,到之后的行动主体中发送aditional的PARAMS推荐的方法是:

myDropzone.on("sending", function(file, xhr, formData) { 
    // Will send the filesize along with the file as POST data. 
    formData.append("filesize", file.size); 
    formData.append("fileName", "myName"); 
}); 

希望它能帮助。