IE-9在使用输入类型文件时给出伪路径

时间:2016-01-06 07:37:50

标签: javascript internet-explorer-9

我无法在IE-9中读取该文件。我从网址生成base64。除了IE-9之外,在所有其他浏览器中它都有效。有人可以帮我这个吗?  我在IE-9中获得了c://fakepath/images.jpg

if((navigator.userAgent.indexOf("MSIE") != -1 ) ||  !!document.documentMode == true )) //IF IE > 10
      {
      tmppath = $("#hi").val();
      console.log("only in ie"+tmppath);
      }
else{
    var selectedFile = this.files[0];
tmppath = URL.createObjectURL(event.target.files[0]);
console.log("temp path other"+tmppath);
}

console.log("temp path"+tmppath);
<input name="hello1" type="file" id="hi" accept="image/*"/>

1 个答案:

答案 0 :(得分:0)

您有代码明确分支IE9及更早版本并阅读value的{​​{1}}。 input value 总是type="file"有一条假路径(在所有浏览器上),因为您不能知道文件的实际路径。

另一个分支使用input,IE9不支持。{1}}。 (IE9根本不支持File API。)

您必须提交包含文件输入的表单,并处理文件服务器端。