2013-04-17 28 views
1

我有簡單的腳本上傳文件使用HTML5 FormData,它支持大多數HTML5支持的瀏覽器(我測試對Chrome,FireFox,Opera和IE10地鐵)。唯一不工作的瀏覽器是IE10 Desktop,問題是文件從未上傳過,服務器端Request.Files.Count始終爲零。上傳文件使用HTML5 FormData不工作IE10桌面

任何想法爲什麼,或者這只是IE10的桌面bug?

這裏的腳本:

<input type="file" id="fileInput" multiple="true"/> 
<button type="button" id="uploadButton">Upload</button> 
<div> 
    <span>Status: </span> <strong id="status"></strong> 
</div> 

<script src="~/Scripts/jquery-1.9.1.js"></script> 
<script type="text/javascript"> 

    var files = []; 

    $(document).ready(function() { 

     $('#fileInput').change(function (e) { 
      // Add all selected files to 'files' array 

      $.each(e.target.files, function(i, item) { 
       files.push(item); 
      }); 
     }); 


     $('#uploadButton').click(function() { 

      // Put files to FormData 
      var formData = new FormData(); 
      $.each(files, function(i, item) { 
       formData.append('X-FILE-' + i, item); 
      }); 

      // Send FormData to server 
      $.ajax({ 
       url: '/home/upload', 
       data: formData, 
       cache: false, 
       contentType: false, 
       processData: false, 
       type: 'POST', 
       success: function (data) { 
        if (data == "YES") { 
         $('#status').text("File Uploaded"); 
        } else { 
         $('#status').text("File NOT Uploaded"); 
        } 
       } 
      }); 
     }); 
    }); 
</script> 

而這裏的服務器端代碼捕獲一個「/ home /上傳」行動:

[HttpPost] 
public ActionResult Upload() 
{ 
    var success = Request.Files.Count > 0; 
    return Content(success ? "YES" : "NO"); 
} 

我也把我的代碼在我的公共倉庫在Github上上https://github.com/budiadiono/IE10VSHtml5

在此先感謝!

+0

你有沒有得到這個解決?我見過需要您在IE9模式下運行IE10的答案。這對我來說不是一種選擇。 – perplexed

回答