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 相关文章推荐
动感效果的TAB选项卡jquery 插件
Jul 09 Javascript
关于URL中的特殊符号使用介绍
Nov 03 Javascript
js跳转页面方法实现汇总
Feb 11 Javascript
jQuery动态星级评分效果实现方法
Aug 06 Javascript
使用node+vue.js实现SPA应用
Jan 28 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 Javascript
Bootstrap CSS布局之代码
Dec 17 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
jquery ztree实现右键收藏功能
Nov 20 jQuery
Vue组件之自定义事件的功能图解
Feb 01 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
基于php iconv函数的使用详解
2013/06/09 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
初学JavaScript第二章
2008/09/30 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
2020/02/03 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python3.5绘制随机漫步图
2018/08/27 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
艺术设计专业个人求职信
2013/09/21 职场文书
大四毕业生学习总结的自我评价
2013/10/31 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
小学生成绩单评语
2014/12/31 职场文书
婚礼父母答谢词
2015/01/04 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
导游词之太湖
2019/10/08 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript