我遇到的问题是,IFormFile列表不是用给定的文件填充的,而是当我调用HttpContext.Request.Form.Files时,我可以访问这些文件。我更喜欢使用IFormFile,因为它似乎是一种新的DotNetCore2.0方式。
我有以下请求有效载荷:

具有以下请求标头:

和Razor页面处理程序:
public async Task<ActionResult> OnPostSend(ConditionResponse conditionResponse)
{
var files = HttpContext.Request.Form.Files;
}条件响应模型:
public class ConditionResponse
{
public List<string> Plots { get; set; }
public string Comments { get; set; }
public List<IFormFile> Files { get; set; }
}发布于 2018-03-28 09:49:07
在查看了来自html5多文件上载的请求之后,我注意到请求没有向文件名( file N)添加索引。Dropzone.js是这样做的,所以有一个工作要做。如果将paramName选项添加到Dropzone JS配置中,并让它调用返回文件的方法,您将得到与html5多文件上传相同的行为。
function myParamName() {
return "files";
}
Dropzone.options.myDropzone = {
uploadMultiple: true,
paramName: myParamName,
}发布于 2018-05-13 20:56:51
这个被接受的答案非常有效,我不知道为什么和如何,但它是有效的。我只想去掉这个额外的函数,也就是说,我们可以这样使用它:
Dropzone.options.myDropzone = {
uploadMultiple: true,
paramName: () => "files",
}或者如果旧浏览器也是目标:
Dropzone.options.myDropzone = {
uploadMultiple: true,
paramName: function () { "files" },
}https://stackoverflow.com/questions/49530188
复制相似问题