2013-04-17 1 views
1

HTML5 FormData를 사용하여 파일을 업로드하는 간단한 스크립트가 있습니다. 대부분의 HTML5 지원 브라우저에서 제대로 작동합니다 (크롬, FireFox, Opera 및 IE30 Meter). 작동하지 않는 유일한 브라우저는 IE10 데스크탑입니다. 문제는 파일이 업로드되지 않았으므로 서버 쪽에서는 항상 Request.Files.Count입니다.HTML5를 사용하여 파일 업로드 IE10 데스크톱에서 작동하지 않는 FormData

이유가 무엇인지, 또는 이것이 IE10 데스크톱 버그일까요? 여기

는 스크립트입니다 :

<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> 

그리고 여기에 '/ 홈/업로드'작업을 캡처하는 서버 측 코드이다 : 나는 또한에 Github에서에서 내 공개 저장소에 내 코드를 밀어

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

https://github.com/budiadiono/IE10VSHtml5.

미리 감사드립니다.

+0

를 해결나요은? IE9 모드에서 IE10을 실행해야하는 답변을 보았습니다. 그것은 나를위한 선택 사항이 아닙니다. – perplexed

답변

1

IE 10 Desktop의 버그라고 확신합니다. 데모 Telerik http://demos.telerik.com/aspnet-ajax/asyncupload/examples/overview/defaultcs.aspx IE 10 바탕 화면에서도 작동하지 않지만 IE 10 Metro에서는 정상적으로 작동합니다.

더 spesific는 여기에 IE의 10 데스크톱 버전의하십시오 : 당신이 이제까지이

Version: 10.0.9200.16540 
Update Versions: 10.0.4 (KB2817183) 
Product ID: 00150-20000-00003-AA459 
관련 문제