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 相关文章推荐
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
学习JavaScript编程语言的8张思维导图分享
Mar 27 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
JavaScript实现select添加option
Jul 03 Javascript
JS实现图片上传预览功能
Nov 21 Javascript
Vue组件中slot的用法
Jan 30 Javascript
vue项目上传Github预览的实现示例
Nov 06 Javascript
微信小程序实现动态获取元素宽高的方法分析
Dec 10 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
基于vue实现一个禅道主页拖拽效果
May 27 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数组内存耗用太多问题的解决方法
2010/04/05 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
vue 中滚动条始终定位在底部的方法
2018/09/03 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
Python 变量类型及命名规则介绍
2013/06/08 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
Python代码实现KNN算法
2017/12/20 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
兼职学生的自我评价
2013/11/24 职场文书
初三化学教学反思
2014/01/23 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
Redis命令处理过程源码解析
2022/02/12 Redis
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电