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 相关文章推荐
清除网页历史记录,屏蔽后退按钮!
Dec 22 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
JavaScript 原型链学习总结
Oct 29 Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 Javascript
关于js里的this关键字的理解
Aug 17 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
Nov 03 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
React Native 截屏组件的示例代码
Dec 06 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
Jan 24 Javascript
对Vue table 动态表格td可编辑的方法详解
Aug 28 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
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
js实现的常用的左侧导航效果
2013/10/17 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
Python判断两个对象相等的原理
2017/12/12 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
主管职责范文
2013/11/09 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
导游词之唐山景点
2019/12/18 职场文书
python爬虫--selenium模块
2021/03/31 Python
matlab xlabel位置的设置方式
2021/05/21 Python
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL
SQL Server中的游标介绍
2022/05/20 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server