try {
netscape.security.PrivilegeManager
.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert('请更改浏览器设置');
return;
}
var fname = document.getElementById("fileupload1").value;
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
try {
// Back slashes for windows
file.initWithPath(fname.replace(/\//g, "\\\\"));
} catch (e) {
if (e.result != Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH)
throw e;
alert('无法加载文件');
return;
}
alert(file.path); //取得文件路径
}
获取。 但是,我尝试的结果都是直接运行到了catch的部分,代码并没有往下执行。若无法获取绝对路径,虽然用表单的形式也可以上传文件,但是对于有需要的开发者,火狐浏览器难道就只挂“谢绝参观”?望各位技术大神指点迷津。蹭分者勿入此门~
6 个解决方案
#1
新手还没有学习到这里,希望能有大神来解答,如果楼主自己解决了,也请楼主能分享一下是怎么解决的
#2
据我了解是不可能的,file控件很难搞。你是想上传前显示缩略图把?用flash上传。
#3
运行到了哪个catch里啊?
#4
var url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
sourceId 是你的控件ID
sourceId 是你的控件ID
#5
如果只是想获取图片的本地路径,可以肯定的说,js做不到。
如果想做上传前预览,直接上网找,一大把。
以前到是有人用flash+js做过,但后来flash也加强安全方面的限制,在本地可以用,网络上就用不了了。
如果想做上传前预览,直接上网找,一大把。
以前到是有人用flash+js做过,但后来flash也加强安全方面的限制,在本地可以用,网络上就用不了了。
#6
安全限制 应该不行
#1
新手还没有学习到这里,希望能有大神来解答,如果楼主自己解决了,也请楼主能分享一下是怎么解决的
#2
据我了解是不可能的,file控件很难搞。你是想上传前显示缩略图把?用flash上传。
#3
运行到了哪个catch里啊?
#4
var url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
sourceId 是你的控件ID
sourceId 是你的控件ID
#5
如果只是想获取图片的本地路径,可以肯定的说,js做不到。
如果想做上传前预览,直接上网找,一大把。
以前到是有人用flash+js做过,但后来flash也加强安全方面的限制,在本地可以用,网络上就用不了了。
如果想做上传前预览,直接上网找,一大把。
以前到是有人用flash+js做过,但后来flash也加强安全方面的限制,在本地可以用,网络上就用不了了。
#6
安全限制 应该不行