1

HTML5 ファイル API 機能を使用して、Web サイト用の美しいファイル アップローダーを作成しています。

しかし、サーバー側 (ASP.NET MVC 4 を使用している場合) に問題があります。

VS のブレークポイントでファイル データを確認できませんでした。常に値と等しいだけnullです。ブレークポイントは起動しています (したがって、このロジックでは要求があります) が、データはありません。

ファイルを受け入れる POST メソッドの引数は、アップローダ ページの HTML マークアップで設定された ID 値でなければならないことを読みました。

私のコードを見てみましょう:

サーバ側:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase fileData)
{
    if (fileData != null && fileData.ContentLength > 0)
    {
        var fileName = System.IO.Path.GetFileName(fileData.FileName);
        var path = System.IO.Path.Combine(@"C:\tmp", fileName);
        fileData.SaveAs(path);
    }

    return RedirectToAction("../NewContract/Strict");
}

クライアント側 (マークアップ):

http://ideone.com/o2msT1

クライアント側 (JS):

http://ideone.com/xAJy3i

問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

変化する:

Content-Disposition: form-data; name='myFile'; filename='"

に:

Content-Disposition: form-data; name='fileData'; filename='"

そしてモデルバインディングで動作します。

于 2013-09-21T01:29:19.333 に答える