フォームには必須ではない<input type="file" />
が含まれているASP.Net MVCでフォームを開発しています。私のコントローラでASP.Net MVCのファイルアップロードで以前のエラーが発生した場合、Request.File.Countは1に設定されています
、私はこのコードを持っている:
今[AcceptVerbs(HttpVerbs.Post)]
[ValidateInput(false)]
public ActionResult Create(FormCollection collection) {
...
//get uploaded file
if (Request.Files.Count > 0)
{
file = Request.Files["imgFileUpload"];
if (file.ContentLength == 0)
{
throw new InvalidOperationException("File contents are empty");
}
...
}
...
}
、ユーザーはコンテンツがありませんファイルをアップロードするとき、フォームが例外を発生させ、それをユーザーに促す - 期待されています。
ここで、ユーザーがファイルをもうアップロードせずに[送信]ボタンをクリックすると判断した場合、それまでの例外はまだ表示されますが、これはかなり奇妙です。
Request.Files
の値を確認しようとしましたが、カウントが1に設定されていることに気付きました。ユーザーが<input type="file" />
コントロールにファイルを置いていないと仮定すると、まだファイルがあると考えます。
誰かがこれに遭遇しましたか?もしそうなら、前の例外を再実行しないようにするためにどのような手順を実行しましたか?
ありがとうございました!
コードしてください....... – Luke