2013-01-04 79 views
0

我有簡單的HTTP形式使用http輸入標籤上載文件,如下:HTTP文件上傳2

<% 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 "/> 
<% } %> 

和背部在控制器I具有相應的操作:

[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"); 
} 

在我的開發機器和實驗室服務器上,這完美地工作。但在製作上,它甚至不會發送任何請求提交按鈕。我通過fiddler檢查了請求,它沒有顯示任何請求甚至源於此表單的痕跡,從win 2008 r2生產服務器上的IE 8開始。

我在這裏無能爲力。可能是什麼問題?你認爲IE安全權限,UAC,組策略可能是個問題嗎?或者你有別的話要說。

+0

改變從uploadFile文件輸入的名稱UploadedFile試過像鉻另一個瀏覽器,看控制檯日誌消息? – deerchao

+0

沒有。好點子。但小提琴手也有同樣的效果。它不顯示瀏覽器和IIS之間發生任何通信 – Codie

+0

我懷疑可能有一些JavaScript錯誤,防止表單提交 – deerchao

回答

0

嘗試在查看

<% 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 "/> 
<% } %> 
+0

這是我做的重構,早些時候它在兩個地方都是「uploadFile」。這不會改變任何東西。 – Codie