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动态添加的元素绑定事件处理函数代码
Aug 02 Javascript
jQuery常见开发技巧详细整理
Jan 02 Javascript
JS关键字球状旋转效果的实例代码
Nov 29 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
node.js中的fs.futimes方法使用说明
Dec 17 Javascript
jquery动态创建div与input的实例代码
Oct 12 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
Feb 15 Javascript
bootstrap paginator分页前后台用法示例
Jun 17 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
Jul 23 Javascript
React styled-components设置组件属性的方法
Aug 07 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
Dec 02 Javascript
WEB前端性能优化的7大手段详解
Feb 04 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实现文件下载功能的几个代码分享
2014/05/10 PHP
PHP 错误处理机制
2015/07/06 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
javascript自执行函数
2017/02/10 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
用实例分析Python中method的参数传递过程
2015/04/02 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Python用threading实现多线程详解
2017/02/03 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
大学生军训广播稿
2014/01/24 职场文书
三年级数学教学反思
2014/01/31 职场文书
音乐器材管理制度
2014/01/31 职场文书
租房合同协议书
2014/04/09 职场文书
保险公司开门红口号
2014/06/21 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
法定代表人资格证明书
2014/09/11 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
中学生检讨书1000字
2014/10/28 职场文书
Python anaconda安装库命令详解
2021/10/16 Python