-1

このようなjqueryプラグインのスクリプトで作成しているフォームがあります。

elem.insertHtml('<form method="post" action="Home/ContactUs" enctype="mutlipart/form-data"><input type="file" name="file" id="fileUpload"></form></div>')

ファイルをアップロードして、いくつかのフォルダーに保存する必要があります。ファイルを選択してフォームを送信すると、フォーム送信時に ContactUs アクションが呼び出されます。Home コントローラーからの ContactUs アクションがあります。

public ActionResult ContactUs(HttpPostedFileBase file, ContactFormModel model)
{
    //other code
}

しかし、HttpPostedFileBase ファイルは null であり、その理由はわかりません。助けてくれませんか?

Html.BeginForm を使用してフォームを作成すると、正しく動作しますが、スクリプトに問題があります。

4

4 に答える 4

2

ファイルをアップロードして取得するには、「File」メソッドを使用できます。プロジェクトに「FileUploads」のようなフォルダーを作成し、そこにファイルをアップロードします。完全な実装を確認できるリンクを提供します:- コードファーストメソッドでIDを使用して、データベースから画像をアップロード、保存、および取得します

于 2014-05-15T16:55:28.030 に答える
0

から変更できますか

elem.insertHtml('<form method="post" action="Home/ContactUs" enctype="mutlipart/form-data"><input type="file" name="file" id="fileUpload"></form></div>')

elem.insertHtml('<form method="post" action="Home/ContactUs" enctype="multipart/form-data"><input type="file" name="file" id="fileUpload"></form></div>')

Request.Files.Count を確認していただけますか。0 より大きくなければなりません。そうでない場合は、コメントしてください。

 public ActionResult ContactUs(ContactFormModel model)
 {
    Request.Files[0].SaveAs(Server.MapPath(@"~\files\test.jpg"));
    return View();
 }
于 2013-08-28T12:17:06.503 に答える
0

モデル バインディングがコードで機能していない可能性があります。それは強く型付けされたあなたの見解ですか?

この答えで試してみてください。https://stackoverflow.com/a/8551621/2664142

于 2013-08-28T12:02:56.560 に答える