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.
미리 감사드립니다.
를 해결나요은? IE9 모드에서 IE10을 실행해야하는 답변을 보았습니다. 그것은 나를위한 선택 사항이 아닙니다. – perplexed