我有一个文件上传表单。 选择上传文件后,我会通过窗口浏览器删除所选文件(或重命名),然后提交表单。
使用Chrome,Firefox和IE8,服务器会收到一个空白文件(filesize = 0)。但是使用IE11,文件上传成功。
我无法理解为什么IE11可以上传不再存在的文件?
我在这里写了一个脚本检查输入文件:http://jsfiddle.net/Teddy_Heaven/U5tjR/8/
[html]
<input type="file" id="test" />
<input type="button" onclick="checkFile()" value="Submit" />
[script]
function checkFile() {
var el = document.getElementById("test");
try {
if(typeof el.files[0] !== 'undefined' && el.files[0].size > 0)
alert("Success!");
else
alert("No file found!");
} catch (err) {
if (err.name == "NS_ERROR_FILE_NOT_FOUND") {
alert("file no longer exists");
}
}
};
只需选择一个文件,重命名文件,然后点击提交即可
使用chrome:找不到文件!
使用Firefox:文件不再存在
随着IE11:成功!
答案 0 :(得分:0)
我有同样的问题,当我看到你的问题时,我明白了。我们可以使用其他方式来获得结果,例如:
[script]
function checkFile() {
var el = document.getElementById("test");
try {
if(typeof el.files[0] !== 'undefined' && el.files[0].size > 0)
alert("Success!");
else
alert("No file found!");
} catch (err) {
alert("No file found!");//in IE11, if file not exists, it will catch a error!
}
}
};
我来自中国,英语不好,希望你能理解我的答案,希望答案对你有帮助^ _ ^