0

こんにちは私は画像を投稿しようとしていますが、返されるのは文字列だけなので、何かが足りないはずです。コードは次のとおりです。

    @using( Html.BeginForm("Create", "ProductManager", FormMethod.Post,new{enctype="multipart/form-data"})){
        <input type="file" class="text-box single-line" id="ProductImagePath" name="ProductAvatar" />           
     }

    [HttpPost]
    public ActionResult Create(  FormCollection collection)
    {
        var imagePosted = collection["ProductAvatar"]; 
    }

imagePostedはnullのみを返します。何が間違っていますか?

4

1 に答える 1

1

コントローラに投稿しているものを確認してみましたか?Developer Tools/FireBugをオンにしてプレビューします。Chromeでは、次のようなものが表示されることが期待できます。

------WebKitFormBoundaryWKyJnLI9EtN9Hqca
Content-Disposition: form-data; name="ProductAvatar"; filename="default.jpg"
Content-Type: image/jpeg

ファイル入力のnameパラメーターがHttpPostedFileBase入力引数の名前と同じであることを確認してください。同じ名前の別の入力がないことを確認してください。

最後に、プロジェクトをデバッグで実行します。アクションにブレークポイントを設定します。イミディエイトウィンドウに移動します。周りをウロウロします。かどうかを確認します

 Request.Files

あなたに良いものがあります;)

幸運を :)

于 2013-01-09T00:46:41.717 に答える