在一个请求中上传多个文件Dropzone发送两个请求

我试图使用DropZone js在一个请求中发送多个文件。

这是我的代码:

Dropzone.autoDiscover = false; var myDropzone = new Dropzone('#upload-Invoices', { paramName: "files", maxFilesize: 3.0, maxFiles: 4, parallelUploads: 10000, uploadMultiple: true, autoProcessQueue: false }); $('#btnUpload').on('click', function () { myDropzone.processQueue(); }); 

控制器:

 public void FileUpload( IEnumerable file ) { // Do Something } 

视图:

 

正在接收文件,虽然在不同的请求中,我想在一个请求中发送所有文件,Dropzone页面有一个选项,虽然它不起作用。 提前致谢

问题是我使用的是输入类型=“提交”,它会自己做另一个post,将其改为输入“按钮”。

不推荐使用enqueueForUpload属性,而应使用autoProcessQueue 。 我的预感是,由于不再使用enqueueForUpload并且您没有将autoProcessQueue设置为false ,因此DropZone.js假定您要发送每个文件,因为它在组件上被删除。

你应该删除enqueueForUpload: false ,设置autoProcessQueue: false ,在你选择(即删除)你需要上传的所有文件之后,调用.processQueue()函数,如文档中所述。

我也看到多个POST,一次发送2个文件(例如,总共4个文件的2个单独的POST)。

我在这里找到了解决方案:增加parallelUploads 。 我现在以下列方式创建dropzone:

 var myDropzone = new Dropzone('div#dz', { url: 'http://httpbin.org/post', uploadMultiple: true, parallelUploads: 10 });