我在asp.net核心应用程序中有一个非常基本的Dropzone:
<div class="panel-body " id="dropzone">
<form asp-action="Upload" class="dropzone
needsclick dz-clickable" id="uploader">
<div class="dz-message needsclick">
Drop files here or <a class="btn btn-
primary">click</a> to upload.<br>
</div>
</form>
</div>
我正在尝试在配置中设置一个params值,因为在某些情况下有一个selectlist,用户选择一个必须传递给MVC控制器的值。 param总是为null,我感觉这是因为我设置配置的方式:
$(document).ready(function () {
Dropzone.options.uploader = {
acceptedFiles: ".csv, .xls, .xlsx",
init: function () {
this.on("error", function (file) {
if (!file.accepted) alert("csv, xls, and xlsx files only. File not uploaded");
this.removeFile(file);
});
},
params: { orgId: $('#orglist').val()}
};
我猜我的params值是在doc准备好的时候再计算的。如何在拖动实际文件时传递当前选择的值?
答案 0 :(得分:0)
我找到的答案是在send函数中添加一个监听器并删除params选项,并在我的控制器操作中附加一个新参数orgID:
Dropzone.options.uploader = {
acceptedFiles: ".csv, .xls, .xlsx",
init: function () {
this.on("error", function (file) {
if (!file.accepted) alert("csv, xls, and xlsx files only. File not uploaded");
this.removeFile(file);
});
this.on("sending", function (file, xhr, formData) {
formData.append("orgId", $('#orglist').val())
})
}