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 相关文章推荐
改善你的jQuery的25个步骤 千倍级效率提升
Feb 11 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
Jun 03 Javascript
vue-cli的eslint相关用法
Sep 29 Javascript
如何选择适合你的JavaScript框架
Nov 20 Javascript
如何在js代码中消灭for循环实例详解
Jul 29 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
Aug 20 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
JS实现分页导航效果
Feb 19 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 XML备份Mysql数据库
2009/05/27 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
php自动载入类用法实例分析
2016/06/24 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
深入解读Python解析XML的几种方式
2016/02/16 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
一道SQL存储过程面试题
2016/10/07 面试题
无工作经验者个人求职信范文
2013/12/22 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
民事起诉书范本
2015/05/19 职场文书
企业党建工作总结2015
2015/05/26 职场文书
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL