js如何获取火狐以及谷歌中<input type="file"⼀>的本地绝对路径

我的火狐版本是firefox 24.6.0 esr
2024-11-13 13:29:09
推荐回答(2个)
回答1:

  尊敬的用户,您好!很高兴为您答疑。
  默认设置下,处于安全考虑,火狐是无法获取此路径的。
  但是通过修改设定,可以变相实现此目的:
  第一步:打开“about:config”页面,查找“signed.applets.codebase_principal_support”属性,将其值设置为true。
设为TRUE
第二步:在javascript中采用以下代码进行获取:
复制内容到剪贴板
代码:
function getValueFF(id){
var ip = document.getElementById(id);
if (ip.files) {
//ffx3 - try to have access to full path
try {
netscape.security.PrivilegeManager.enablePrivilege( 'UniversalFileRead' )
}
catch (err) {
//need to set signed.applets.codebase_principal_support to true
}
};
return ip.value;
}  
  但是此方案对于面向大众的网站意义不大。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。

回答2:

//获取上传图片的本地路径
function getPath(obj){
if(obj) {
if(navigator.userAgent.indexOf("MSIE")>0) {
obj.select();
//IE下取得图片的本地路径
return document.selection.createRange().text;
} else if(isFirefox=navigator.userAgent.indexOf("Firefox")>0) {
if (obj.files) { // Firefox下取得的是图片的数据
return files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
谢谢!