在一个请求中上传多个文件Dropzone Asp.Net Core 2

时间:2018-04-05 03:16:06

标签: asp.net-core-2.0 dropzone.js

我使用DotNet Core 2 MVC作为我的Web应用程序使用Dropzone 4.3

我正在尝试上传多个文件,我的控制器什么都没有收到。

这是我的JS代码:

    Dropzone.options.uploader = {
        paramName: "file", // The name that will be used to transfer the file
        maxFilesize: 10, // MB
        url: '/Home/Upload',
        acceptedFiles: ".txt,.pc1",
        method: "Post",
        //autoProcessQueue: false,
        uploadMultiple: true,
        clickable: true,
        addRemoveLinks: true,
        createImageThumbnails: true,

        accept: function (file, done,response) {
            if (file.name == "test.jpg") {
                alert("Can't upload a test file.");
            }
            else {
                //Show a confirm alert and display the image on the page.
   
                done(); 
                

            }
        }


    };

我的HTML代码:

<div id="dropzone">
     <form   class="dropzone needsclick dz-clickable" id="uploader"enctype="multipart/form-data">
           <div class="dz-message needsclick">
                  Drop files here or click to upload.<br>
           </div>
     </form>                              
</div>

我的控制器操作方法:

 [![Screenshot of Action Method in Debug Mode][1]][1]

正如您所见,操作方法已被命中,但未收到任何文件。

当action方法如下所示,然后使用file对action方法进行多个并发命中。

public async Task<IActionResult> Upload(Microsoft.AspNetCore.Http.IFormFile file)

但是我希望一个请求包含多个文件集。

这可能吗?

另请注意,当autoProcessQueue:false存在时,它不会触及我的操作方法。

1 个答案:

答案 0 :(得分:-1)

控制器:

[Route("upload-files")]
[HttpPost]
public object UploadFiles()
{
    var files = HttpContext.Request.Form.Files;

    // response
}