-4

入力タイプ ファイルを含むフォームがあります。その入力では、テキスト ファイルのみを選択します。

選択したファイルを JSON/Ajax 経由で自分のアクションに送信する方法を知りたいです。

誰かがすでにそれを使っていましたか?JSON/Ajax によるファイルの送信。

C# + MVC 3 を使用しています

答えは次のとおりです。

http://powerdotnetcore.com/asp-net-mvc/asp-net-mvc-simple-ajax-file-upload-using-jquery

4

1 に答える 1

1

JSON を使用したいというおっしゃる理由がわかりませんが、Ajax でファイルのアップロードを実行する場合、MVC を使用しているのに組み込みの Ajax フォームを使用しないのはなぜですか? 簡単な例は次のようになります。

モデル:

public class ViewModel
{
    [Required, Microsoft.Web.Mvc.FileExtensions(Extensions = "txt", ErrorMessage = "Specify a txt file.")]
    public HttpPostedFileBase File { get; set; }
}

意見:

<div id="result"></div>

@using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { UpdateTargetId = "result" }, new { enctype="multipart/form-data" } ))    
{
    @Html.TextBoxFor(m => m.File, new { type = "file" })
    @Html.ValidationMessageFor(m => m.File)
}

コントローラ:

[HttpPost]
public ActionResult Action(ViewModel model)
{
    if (ModelState.IsValid)
    {
        // Use your file here
        using (MemoryStream memoryStream = new MemoryStream())
        {
            model.File.InputStream.CopyTo(memoryStream);
        }
    }

    //Return some html back to calling page...
    return PartialView("YourPartialView");

}
于 2013-10-09T14:54:01.143 に答える