自己倒騰了半天,終于解決了,并在chrome瀏覽器上驗證可行,方法如下:
function getImgURL(node) {
var imgURL = "";
try{
var file = null;
if(node.files && node.files[0] ){
file = node.files[0];
}else if(node.files && node.files.item(0)) {
file = node.files.item(0);
}
//Firefox 因安全性問題已無法直接通過input[file].value 獲取完整的文件路徑
try{
//Firefox7.0
imgURL = file.getAsDataURL();
//alert("//Firefox7.0"+imgRUL);
}catch(e){
//Firefox8.0以上
imgURL = window.URL.createObjectURL(file);
//alert("//Firefox8.0以上"+imgRUL);
}
}catch(e){ //這里不知道怎么處理了,如果是遨游的話會報這個異常
//支持html5的瀏覽器,比如高版本的firefox、chrome、ie10
if (node.files && node.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
imgURL = e.target.result;
};
reader.readAsDataURL(node.files[0]);
}
}
return imgURL;
}
注意在傳遞node的時候要傳遞document.getElementById 獲取的節(jié)點,不要用jquery的方式去獲取節(jié)點