问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js如何获取file控件的完整路径

发布网友 发布时间:2022-05-01 18:17

我来回答

2个回答

热心网友 时间:2022-04-25 15:41

代码如下:
<script type="text/javascript">
//FX获取文件路径方法
function readFileFirefox(fileBrowser) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert('无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New->Boolean; (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件');
return;
}
var fileName=fileBrowser.value; //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
try {
// Back slashes for windows
file.initWithPath( fileName.replace(/\//g, "\\\\") );
}
catch(e) {
if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
return;
}
if ( file.exists() == false ) {
alert("File '" + fileName + "' not found.");
return;
}
return file.path;
}
//根据不同浏览器获取路径
function getvl(){
//判断浏览器
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
var file_url="";
if(Sys.ie<="6.0"){
//ie5.5,ie6.0
file_url = document.getElementById("file").value;
}else if(Sys.ie>="7.0"){
//ie7,ie8
var file = document.getElementById("file");
file.select();
file_url = document.selection.createRange().text;
}else if(Sys.firefox){
//fx
//file_url = document.getElementById("file").files[0].getAsDataURL();//获取的路径为FF识别的加密字符串
file_url = readFileFirefox(document.getElementById("file"));
}
//alert(file_url);
document.getElementById("text").innerHTML="获取文件域完整路径为:"+file_url;
}
</script>
<h1>JS获取文件域完整路径的方法,兼容不同浏览器</h1>
<div id="text" style="color:#f00;"></div>
<input type="file" id="file" />
<input name="" type="button" value="获取" onClick="getvl();">

热心网友 时间:2022-04-25 16:59

//FX获取文件路径方法function readFileFirefox(fileBrowser) {try {netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}catch (e) {alert('无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New->Boolean; (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件');return;}var fileName=fileBrowser.value; //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);try {// Back slashes for windowsfile.initWithPath( fileName.replace(/\//g, "\\\\") );}catch(e) {if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");return;}if ( file.exists() == false ) {alert("File '" + fileName + "' not found.");return;}return file.path;}//根据不同浏览器获取路径function getvl(){//判断浏览器var Sys = {};var ua = navigator.userAgent.toLowerCase();var s;(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;var file_url="";if(Sys.ie<="6.0"){//ie5.5,ie6.0file_url = document.getElementById("file").value;}else if(Sys.ie>="7.0"){//ie7,ie8var file = document.getElementById("file");file.select();file_url = document.selection.createRange().text;}else if(Sys.firefox){//fx//file_url = document.getElementById("file").files[0].getAsDataURL();//获取的路径为FF识别的加密字符串file_url = readFileFirefox(document.getElementById("file"));}//alert(file_url);document.getElementById("text").innerHTML="获取文件域完整路径为:"+file_url;}</script><h1>JS获取文件域完整路径的方法,兼容不同浏览器</h1><div id="text" style="color:#f00;"></div>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... js中如何给FILE文件赋值 js 清空file 值怎么清空 怎么用js来获取 file中的上传文件的文件名 自己平板支撑的时候,身体抖得厉害是怎么回事? 起诉离婚流程和费用2021年多少钱 河南师范大学新生党员基本情况登记表 个人简历怎么写 入党申请人基本情况登记表填写完到什么时间就是党员? *预备党员发展对象基本情况登记表中的考察培养情况及支部意见怎么填? 表1:《党员基本情况登记表》(填写样本) 关于最新华硕笔记本的疑问 新版ipad 跟pro那个好有什么区别 怎么由 显示 1024*2048(1HZ)变成1024*2048(24HZ) 有台夏普2048N的复印机卡纸在对位棍的位置 Windows 10 TH2正式版更新了什么,Windows 10 TH2新功能 在win10系统下,安装夏普2048n打印机驱动,出现(错误0x00000709)。该怎么办? WACOM数位板的压感支持问题 夏普打印机2048n驱动问题 我有一次打开猎豹浏览器的时候就在新标签页弹出了一个小游戏,2048,但是游戏玩完关了之后就再也找不到了 画江湖之不良人中武功排名榜 画江湖之不良人前十名正确武功排名是这样的: 第一名:不良帅 JS怎么获取表单file的值? JS脚本:js如何获取file控件的完整路径具体实现代码 js如何强制设置file的value值? 在js中&#39;fileid&#39;和&quot;#fileid&#39;&quot;的区别 js如何得到file文本框中的值 jquery/js 得到file的value 怎么通过JS获取到表单File框里的值 网购一双鞋子,把吊牌剪了,这种情况还可以申请退款或者换货吗? js获取HTML5 多文件file选择的数量 如何用JS控制input type=file的value 周易号码测吉凶100分的手机号老看大家出多少钱买? js中OpenTextFile 方法 Oracle12C安装启用自动内存管理吗? javascript 怎么从文件路径得到file对象 买到坏的衣服,吊牌被店员剪了可以退吗 抖音听到的一个BGM? 时代峰峻具体地址 361°吊牌剪了还能换货吗 怎么创建JS文件 火狐中 js file的操作不兼容如何解决?