0

以下のように、http 入力タグを使用してファイルをアップロードするための単純な http フォームがあります。

<% using (Html.BeginForm("Add", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
   {%>
     <label for="file"> Select File :</label>
     <input type="file" name="uploadedFile" value="" accept="text/plain" class="fileUpload" />
     <input id="btnAdd" type="submit" class="button" name="Add" value=" Add "/>
<% } %>

コントローラーに戻ると、対応するアクションがあります。

[HttpPost]
public ActionResult Add(HttpPostedFileBase uploadedFile)
{
    Logger.Debug("Inside Add");

    ProductModel model = new ProductModel();

    if (uploadedFile.ContentLength > 0)
    {
        string filePath = Path.Combine(HttpContext.Server.MapPath("~/Uploads"),
                                       Path.GetFileName(uploadedFile.FileName));
        Logger.Debug("File saved at - " + filePath);
        uploadedFile.SaveAs(filePath);
        model.FileName = uploadedFile.FileName;
        model.Add(filePath);
        return View("Result", model);
    }
    return RedirectToAction("Index");
}

私の開発マシンとラボ サーバーでは、これは完全に機能します。しかし、本番環境では、送信ボタンのリクエストさえ送信しません。フィドラーを介してリクエストを検査しましたが、win 2008 r2 運用サーバー上の IE 8 から、このフォームに対してリクエストが発信されているというトレースは表示されません。

私はここで無知です。問題は何ですか?IE のセキュリティ アクセス許可、UAC、グループ ポリシーが問題になると思いますか? または、他に言いたいことがあります。

4

1 に答える 1

0

ビューでファイル入力の名前を から に変更してみてuploadFileくださいUploadedFile

<% using (Html.BeginForm("Add", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
   {%>
     <label for="file"> Select File :</label>
     <input type="file" name="UploadedFile" value="" accept="text/plain" class="fileUpload" />
     <input id="btnAdd" type="submit" class="button" name="Add" value=" Add "/>
<% } %>
于 2013-01-04T06:35:04.057 に答える