js如何获取file控件的完整路径具体实现代码


Posted in Javascript onMay 15, 2013

今天做一个项目,需要隐藏input file然后获取它的值,但连jquery都无法获取它的值

<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();">
Javascript 相关文章推荐
js获取div高度的代码
Aug 09 Javascript
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
JavaScript变量声明详解
Nov 27 Javascript
js实现新年倒计时效果
Dec 10 Javascript
JS数组去掉重复数据只保留一条的实现代码
Aug 11 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
H5移动端图片压缩上传开发流程
Nov 09 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
JS实现音乐导航特效
Jan 06 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 #Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
May 15 #Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 #Javascript
JQuery的AJAX实现文件下载的小例子
May 15 #Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
May 15 #Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 #Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 #Javascript
You might like
JAVA/JSP学习系列之四
2006/10/09 PHP
坏狼php学习 计数器实例代码
2008/06/15 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
Python读写Excel文件方法介绍
2014/11/22 Python
python邮件发送smtplib使用详解
2020/06/16 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
服装设计行业个人的自我评价
2013/12/20 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
中秋节活动总结
2014/08/29 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
六查六看自查报告
2014/10/14 职场文书
消防安全培训工作总结
2015/10/23 职场文书