浏览并选择用户硬盘驱动器中的文件在IE中未定义
Browse and select files from user hard drive gives undefined in IE
当我使用输入按钮浏览用户计算机上的文件时,它可以在FF,IE9和Chrome上运行。但是当我将文件传递给IE9中的JS函数时,我没有得到定义,而它在FF和Chrome中可以完美运行。
<form id="uploadForm" style='display:none;padding:1px;' method="post" enctype="multipart/form-data">
<input type="file" name="data" id="inFile" size="15" style="display:none" onchange="handleFiles(this.files)"/>
function handleFiles(files){
//doing something with the files
}
//In IE files is undefined
我也尝试使用
dojo.connect(dojo.byId("uploadForm").data, "onchange", function(evt){
handleFiles(this.files);
});
<form id="uploadForm" method="post" enctype="multipart/form-data">
<input type="file" name="data" id="inFile" size="15" style="display:none"/>
这个文件再次未定义
谢谢
IE9不支持多个文件上传,也没有files
属性。您将不得不依赖value
属性并从它提供的路径解析文件名。
我的解决方案:
-
将
this
而不是this.files
传递到handleFiles()
函数中:<input type="file" onchange="handleFiles(this)">
-
像这样启动
handleFiles()
函数:function handleFiles(input){ var files = input.files; if (!files) { // workaround for IE9 files = []; files.push({ name: input.value.substring(input.value.lastIndexOf("''")+1), size: 0, // it's not possible to get file size w/o flash or so type: input.value.substring(input.value.lastIndexOf(".")+1) }); } // do whatever you need to with the `files` variable console.log(files); }
参见jsFiddle的工作示例:http://jsfiddle.net/phusick/fkY4k/
显然,IE中没有定义文件。请参阅此处了解如何使用 IE 执行此操作。
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 是否可以在javascript中读取IE中的本地文件
- 从IE中的不同元素调用时,文件输入控件未正确启动
- IE 9 BHO插件.加载外部JS文件时出现错误SCRIPT1014
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 如何在IE中使用JavaScript上传文件
- 浏览并选择用户硬盘驱动器中的文件在IE中未定义
- 将 JSON 下载为文件:IE-11 抛出 414 请求 URI 太大
- 有条件的包含js/css文件的IE与流星
- IE没有't使用jQuery file下载插件下载文件
- 文件读取器无法在chrome和IE中工作
- 什么将等同于文件.IE的GetElementById().files
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- 在 Java 中使用 IE/Chrome HTML 渲染器或使用 JavaScript 存储文件
- 文件上传代码适用于Chrome和Mozilla,但不适用于IE 8,9
- IE 中的 Jquery 输入文件类型操作问题
- 当尝试仅在 IE 上使用 ajax 请求读取本地 xml 文件时,访问将被拒绝
- 忽略IE的临时互联网文件
- 跨域ajax与xml文件IE