【发布时间】:2014-08-08 06:13:24
【问题描述】:
我正在尝试创建一个在运行时检查文件大小和扩展名的功能,我已经完成了它并且在除 ie 9 之外的所有浏览器上都能正常工作。谁能告诉我问题出在哪里?
Javascript
<script type='text/javascript'>
function showFileSize() {
var input, file;
// (Can't use `typeof FileReader === "function"` because apparently
// it comes back as "object" on some browsers. So just see if it's there
// at all.)
if (!window.FileReader) {
bodyAppend("p", "The file API isn't supported on this browser yet.");
return;
}
input = document.getElementById('fileinput');
if (!input.files[0]) {
bodyAppend("p", "Please select a file before clicking 'Load'");
}
else {
file = input.files[0];
var sFileName = file.name;
var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1].toLowerCase();
bodyAppend("p", "File Type " + sFileExtension + " is " + file.size + " bytes in size");
}
}
function bodyAppend(tagName, innerHTML) {
var elm;
elm = document.createElement(tagName);
elm.innerHTML = innerHTML;
document.body.appendChild(elm);
}
</script>
HTML
<form action='#' onsubmit="return false;">
<input type='file' id='fileinput'>
<input type='button' id='btnLoad' value='Save' onclick='showFileSize();'>
</form>
【问题讨论】:
-
你是不是在认真地问为什么 IE9 不支持
FileReader,为什么它只在IE10 中实现?你想让我们回答什么?因为比尔说不,因为..微软,因为没有! -
好的,我删除了我的评论,但我认为它对这个问题很有用。 IE 很烂,就像@adeneo 所说的那样——它还没有在那个过时的浏览器版本中实现。
-
@adeneo 是的,我是,但是如何解决这个问题,这是否可以解决这个问题......?
-
@urbz -
"not yet been implemented",我觉得火车已经离站差不多了,没有回头路了 -
让我改写一下,请放纵早晨的疲劳 - 不会实施。 @Ayaz 一个可能的解决方法可能是 THIS 但否则 IE9 不支持 HTML5 文件 API,包括
FileReader..
标签: javascript jquery function validation internet-explorer-9