HTML 源代码
<input id="UploadFile" type="file" name="UploadFile" />
<button type="button" onclick="UploadDocument();" class="RemoveButtonDefaultStyle">
Javascript函数
function UploadDocument() {
var fileInput = document.getElementById('UploadFile');
var xhr = new XMLHttpRequest();
xhr.open('POST', '/ControllerName/Action?id=14671');
xhr.setRequestHeader('Content-type', 'multipart/form-data');
//Appending file information in Http headers
xhr.setRequestHeader('X-File-Name', fileInput.files[0].name);
xhr.setRequestHeader('X-File-Type', fileInput.files[0].type);
xhr.setRequestHeader('X-File-Description', $("#UploadDescription").val());
//Sending file in XMLHttpRequest
xhr.send(fileInput.files[0]);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
$("#UploadFile").val('');
$("#UploadDescription").val('')
$("#UploadedFilesDiv").html(xhr.responseText);
}
}
return false; }
这在 IE10、Chrome 和 Firefox 中运行良好。但在 IE 9 或更低版本的浏览器中失败。错误提示“files[0]”未定义我知道 File 是一个 HTML5 对象,IE 9 或更低版本的浏览器不支持该对象。有人可以建议最简单的解决方法吗?