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 相关文章推荐
面向对象的Javascript之二(接口实现介绍)
Jan 27 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
PHP7新特性简述
Jun 11 Javascript
JS查找数组中重复元素的方法详解
Jun 14 Javascript
详解webpack 如何集成第三方js库
Jun 29 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
Dec 22 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 Javascript
vue动画—通过钩子函数实现半场动画操作
Aug 09 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
Sep 02 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建立Ftp连接的方法
2015/03/07 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
Python实现合并字典的方法
2015/07/07 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
对python字典过滤条件的实例详解
2019/01/22 Python
python实现图片压缩代码实例
2019/08/12 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
python一些性能分析的技巧
2020/08/30 Python
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
仓库理货员岗位职责
2013/12/18 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
优质服务活动实施方案
2014/05/02 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
校园元旦活动总结
2014/07/09 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
合理化建议书
2015/02/04 职场文书
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
python数字图像处理实现图像的形变与缩放
2022/06/28 Python