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 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
前端开发的开始---基于面向对象的Ajax类
Sep 17 Javascript
防止jQuery ajax Load使用缓存的方法小结
Feb 22 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
Aug 19 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
vue将对象新增的属性添加到检测序列的方法
Feb 24 Javascript
Vue.js 利用v-for中的index值实现隔行变色
Aug 01 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
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 观察者模式的实现代码
2013/05/10 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
Python聊天室程序(基础版)
2018/04/01 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
装饰资料员岗位职责
2013/12/30 职场文书
聚美优品广告词改编
2014/03/14 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书