当浏览器需要读取本地数据的时候,诸如第2.2章中提到的读取xml文件,此时就需要浏览器知道文件的详细地址,但是使用一般方法智能得到一个C:\fakepath,其实这里是浏览器的保护机制让input file的路径时被fakepath代替,隐藏了真实物理路径。
因此为了解决这个问题可以有以下方案:
①更改浏览器设置,但是这种方法不安全,因此不推荐
②使用window.URL.createObjectURL()
var url = null;
var fileObj = document.getElementById("aptitude").files[0];
if (window.createObjcectURL != undefined) {
url = window.createOjcectURL(fileObj);
} else if (window.URL != undefined) {
url = window.URL.createObjectURL(fileObj);
} else if (window.webkitURL != undefined) {
url = window.webkitURL.createObjectURL(fileObj);
}