私は .net mvc を使用しており、ファイルをアップロードしています
public IEnumerable<HttpPostedFileBase> SubmissionUploadFiles { get; set; }
.net mvc はファイルをその変数に適切に配置し、1 つと複数のファイルの両方で機能します。
しかし、ここに奇妙なことがあります.3つの入力があり、1つを空のままにしておくと、クロムはこれを送信します:
------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つの入力をグラフィカルに示すスクリーンショットです
このように1つが空の場合、.net mvcで次のことが起こります
ただし、3 つのファイルを選択する (またはさらに追加する - jquery で入力を追加する) と、ここでわかるようにうまく機能します。
何も変更しないのは、空のファイル入力があるかどうかだけです。もちろん、jquery on submit を使用して回避策として空のフィールドを削除することはできますが、それは奇妙だと思うので、より良い解決策が必要です。