您的位置:首页 > 其它

IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题

2012-04-08 08:27 423 查看
你可以通过设置浏览器安全选项得到真实路径:

Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径 -> 选“启动” -> 确定

但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。

例如我的上传文件控件的HTML代码是:

<input id="file_upl" type="file" />

那么在JS代码中我就可以这样来获取真实的文件路径:

var file_upl = document.getElementById('file_upl');

file_upl.select();

var realpath = document.selection.createRange().text;

此方案只针对IE浏览器,对其他浏览器火狐,js代码如下:

//附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列

function getPath(obj) //参数obj为input file对象

{

if(obj)

{

if (window.navigator.userAgent.indexOf("MSIE")>=1)

{

obj.select();

return document.selection.createRange().text;

}

else if(window.navigator.userAgent.indexOf("Firefox")>=1)

{

if(obj.files)

{

return obj.files.item(0).getAsDataURL();

}

return obj.value;

}

return obj.value;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐