4

MVC でファイル アップロードを実装しようとしています。私は動作する次のコードを持っています。

@using (Html.BeginForm("ActioName", "ControllerName", FormMethod.Post, new { enctype = "multipart/form-data" }))
{         
       <div>
            <input type="file" name="file" />
            <input type="submit" value="OK" class="button" />
        </div>       
}

      [HttpPost]
      public ActionResult UploadFile(HttpPostedFileBase file)
       {
        // Verify that the user selected a file
        if (file != null && file.ContentLength > 0)
        {
        //do something here...
        }
      }

ここで、(ファイルの種類を選択するための) ドロップダウン ボックスを追加し、その値をファイルと共にコントローラーに送信します。どうすればそれを行うことができますか (ファイルと一緒に他のフォームデータを送信します)?

4

3 に答える 3

10

それらをビューに追加し、それらを POST に含め、MVC でモデル バインディングを処理できるようにする必要があります。

@using (Html.BeginForm("ActioName", "ControllerName", FormMethod.Post, new { enctype = "multipart/form-data" }))
{         
       <div>
            <input type="file" name="file" />
            <select name="fileType">
               <option value="JPG">Photo</option>
               <option value="DOC">Word</option>
            </select>
            <input type="submit" value="OK" class="button" />
        </div>       
}

      [HttpPost]
      public ActionResult UploadFile(HttpPostedFileBase file, string fileType)
      {
        //Validate the fileType

        // Verify that the user selected a file
        if (file != null && file.ContentLength > 0)
        {
        //do something here...
        }
      }
于 2013-11-19T18:49:23.400 に答える
0

フォームに Razor を使用しないようにしてください

<form method="POST" data-url="@Url.Action("Action", "Controller")" enctype="multipart/form-data">
        @Html.ValidationSummary(true)

        <span class="btn btn-success fileinput-button">
            <i class="fa fa-plus"></i>
            <span>Add a file...</span>
            @Html.TextBoxFor(model => model.Fichier, new { type = "file" })
        </span>

        <div class="form-group form-actions">
            <div class="col-sm-offset-3 col-sm-9">
                <input id="submit" type="submit" class="btn btn-primary" value='Value' />
            </div>
        </div>
    </form>

私のために働いた

于 2016-04-25T15:40:19.297 に答える