在每次文件上传时发送带有放置区的自定义数据.js
Send custom data with dropzone.js on each File Upload
我在我的代码点火器项目中使用dropzone。
每次拖动文件时,dropzone 都会创建一个 ajax 请求,我的文件也会存储在服务器上。但是现在,我的要求是我想与文件一起发送其他数据(DYNAMIC)。使用参数,只能发送静态数据,但我想发送的数据每次都会发生变化。
这是我的代码的样子:
<script>
Dropzone.autoDiscover = false;
Dropzone.options.attachment = {
init: function(){
this.on('removedfile',function(file){
// console.log('akjsdhaksj');
var fileName = file.name;
$.ajax({
type: 'POST',
url: "<?php echo BASE_URL.'index.php/admin/mail_actions/deleteFile' ?>",
data: "id="+fileName,
dataType: 'html'
});
});
},
// params: {
// customerFolder: $('#toValue').substr(0, toValue.indexOf('@')),
// },
dictDefaultMessage:"Click / Drop here to upload files",
addRemoveLinks: true,
dictRemoveFile:"Remove",
maxFiles:3,
maxFilesize:8,
}
$(function(){
var uploadFilePath = "<?php echo BASE_URL.'index.php/admin/mail_actions/uploadFile' ?>";
var myDropzone = new Dropzone("div#attachment", { url: uploadFilePath});
});
</script>
反正我能做到吗?
我明白了。这是我必须使用的
myDropzone.on('sending', function(file, xhr, formData){
formData.append('userName', 'bob');
});
Abhinav 有正确和有效的答案 我只想给出第二个选项来在选项对象中使用它(例如,如果您在一个页面上有多个 Dropzone 部分。
myDropzone.options.dropzoneDivID = {
sending: function(file, xhr, formData){
formData.append('userName', 'Bob');
}
};
如果你有一个嵌套的有效载荷对象 - 例如,在你的文件中添加一个名字,而你的api只接受这样的东西
{
someParameter: {
image: <my-upload-file>,
name: 'Bob'
}
}
您的放置区设置如下所示
var myDropzone = new Dropzone("div#attachment", {
url: uploadFilePath,
paramName: 'someParameter[image]'
});
myDropzone.on('sending', function(file, xhr, formData){
formData.append('someParameter[image]', file);
formData.append('someParameter[userName]', 'bob');
});
我只是添加了这个,因为从那时起没有记录嵌套参数的示例。
我正在使用JQuery,这就是我的工作方式:
$("#dZUpload").dropzone({
url: "ajax/upload_img_ben.php",
success: function (file, response) {
var imgName = response;
file.previewElement.classList.add("dz-success");
console.log("Successfully uploaded :" + imgName);
},
error: function (file, response) {
file.previewElement.classList.add("dz-error");
},
sending: function(file, xhr, formData){
formData.append('id', '5');
}
});
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 在每次文件上传时发送带有放置区的自定义数据.js
- 我们如何自定义内置的 Angular “货币”过滤器
- JavaScript:将所有事件处理程序重置为默认值/禁用自定义处理程序
- 如何重置自定义数据并将其发布到Stormpath
- 如何使用路由器和内置/自定义属性在aurelia中创建下拉菜单
- 如何为Parse上托管的Parse应用程序添加自定义密码重置模板
- 谷歌脚本-如何克服的事实,这是不可能在自定义函数中使用内置功能
- 如何使用自定义格式化器内置函数来调用非jqgrid独立函数
- 为流星中的自定义路由设置重置密码令牌
- 我如何重置多个下拉下拉在jquery移动与自定义类一次
- 向Array(内置对象)添加自定义方法时的最佳实践
- 如何在wordpress帖子区添加自定义javascript
- 获取CRM 2011中联系人中的所有内置和自定义字段
- 命名内置对象的自定义字段而不发生冲突
- 高图表自定义导出隐藏在重置
- 如何防止自定义事件被重复触发 - 或者我可以“重置”jQuery .one()函数
- 如何完全重置自定义AJAX对象
- 内置自定义组件的TouchableWithoutFeedback;t在按下回调时启动