我正在使用 .net mvc 并将文件上传到
public IEnumerable<HttpPostedFileBase> SubmissionUploadFiles { get; set; }
.net mvc 将文件很好地放入该变量中,并且它适用于一个和多个文件。
但奇怪的是,如果我有 3 个输入并且我将其中一个留空,那么 chrome 会发送这个:
------WebKitFormBoundaryU3zJOb5diOM9JOaS
Content-Disposition: form-data; name="SubmissionUploadFiles"; filename="Glidecam.jpg"
Content-Type: image/jpeg
------WebKitFormBoundaryU3zJOb5diOM9JOaS
Content-Disposition: form-data; name="SubmissionUploadFiles"; filename="fire.svg"
Content-Type: image/svg+xml
------WebKitFormBoundaryU3zJOb5diOM9JOaS
Content-Disposition: form-data; name="SubmissionUploadFiles"
如您所见,最后一个没有价值(因为我没有在该输入中选择文件!
这是一个屏幕截图,以图形方式显示我的 3 个输入
当一个像这样为空时,在.net mvc中会发生以下情况,我得到一个像这样的空文件
但是,如果我选择 3 个文件(或添加更多文件 - 我使用 jquery 添加输入),那么它的效果很好,正如您在此处看到的那样。
我什么都不改变,只有当我有一个空文件输入或没有。我当然可以在提交时使用 jquery 删除空字段作为一种解决方法,但我只是认为这很奇怪,并且想要一个更好的解决方案。