ASP.NET MVC で、ファイルのアップロードを実現したい
5485 ワード
前提・実現したいこと
ASP.NET MVC で、ファイルのアップロードを実現したいです。
- 言語は C# です
- .NET Framework のバージョンは 4.72 です
- Ajax.BeginForm を使い Form を作っています
- アップロードを行うコントローラーは、部分ビューの中に配置しています
発生している問題・エラーメッセージ
アップロードしたいファイルを選択して submit すると、
サーバー側でファイルを受け取る HttpPostedFileBase が、常に null になってしまいます。Request.Files も null になります
該当のソースコード
Index.cshtml
@using (Ajax.BeginForm("Upload", "Test", new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "Result"
}, new { id = "AjaxForm", enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div id="Result">
@Html.Partial("_Page", Model)
</div>
}
_Page.cshtml
<input type="file" id="File" name="File" />
<input type="submit" value="アップロード" />
<button type="submit" name="Search">検索</button>
<button type="submit" name="Clear">クリア</button>
TestController.cs
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Upload(string Search, string Clear, HttpPostedFileBase File)
{
// ここも null になる
var uploadFile = Request.Files["File"];
}
試したこと
下記のページにあるように、HttpPostedFileWrapper を使う方法も試してみました。
https://www.ipentec.com/document/csharp-asp-net-mvc-upload-file
しかし、この方法だと、ボタンクリックで submit する時、
Internal Server Error が発生します。
おわかりの方がいらっしゃいましたら教えてください。
よろしくお願い致します。
Author And Source
この問題について(ASP.NET MVC で、ファイルのアップロードを実現したい), 我々は、より多くの情報をここで見つけました https://qiita.com/qq11dev/items/db39f949135f819c3c12著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .