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 Mobile 导航栏代码
Nov 01 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
最简单的tab切换实例代码
May 13 Javascript
Bootstrap所支持的表单控件实例详解
May 16 Javascript
简单的分页代码js实现
May 17 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
Angular的MVC和作用域
Dec 26 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
Dec 09 Javascript
vue 实现根据data中的属性值来设置不同的样式
Aug 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计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
PHP云打印类完整示例
2016/10/15 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
js登录弹出层特效
2014/03/07 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
2015/01/19 Javascript
java必学必会之static关键字
2015/12/03 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python实现的计算器功能示例
2018/04/26 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
港湾网络笔试题
2014/04/19 面试题
政法学院毕业生求职信
2014/02/28 职场文书
党员公开承诺书
2014/03/25 职场文书
公司市场部岗位职责
2015/04/15 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
人民的好儿女观后感
2015/06/18 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电