读书人

js下传预览图片

发布时间: 2012-08-14 10:39:57 作者: rapoo

js上传预览图片
现需要实现图片上传之前进行预览,网上也有很多相关代码,但均有浏览器兼容性的问题。Firefox9.0以上,ie6,ie7,谷歌以及ie内核的浏览器都支持的实在找不到。
问题在于获取图片的完整路径不同,ie取到的是完整路径,加载本地图片自然没有问题,但Firefox9.0和谷歌取到的是文件名,若能解决不同浏览器都能取到图片的完整路径,问题就解决了。
function showImage(imgFile) {
var fileName = document.getElementById("fileId").value;
if (window.navigator.userAgent.indexOf("MSIE")>=1){
imgFile.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1){
if(imgFile.files){
return imgFile.files.item(0).getAsDataURL();
}
return imgFile.value;
}
}
Firefox7.0上以已经不支持getAsDataURL()方法,谷歌如何判断?求高人指点

[解决办法]
楼主。。。。
试试这个方法吧:

JScript code
function getFullPath(obj) {    if (obj) {        //IE        if (window.navigator.userAgent.indexOf("MSIE") >= 1) {            obj.select();            obj.blur();            // IE下取得图片的本地路径            return document.selection.createRange().text;        }        //firefox        else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {            if (obj.files) {                // Firefox下取得的是图片的数据                var value = "";                try{                    value = window.URL.createObjectURL(obj.files[0]);                }catch(e){                    value = obj.files[0].getAsDataURL();                }                return value;            }        }        return obj.value;    }}
[解决办法]
ff

window.URL.createObjectURL

chrome

window.webkitURL.createObjectURL ...

读书人网 >JavaScript

热点推荐