以下のように、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、グループ ポリシーが問題になると思いますか? または、他に言いたいことがあります。