- 浏览: 919248 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (498)
- J2EE (52)
- 数据库 (17)
- java基础 (43)
- web技术 (19)
- 程序设计 (6)
- 操作系统 (18)
- IT资讯 (7)
- 我的IT生活 (12)
- 学习笔记 (9)
- Jquery (25)
- JavaScript (18)
- spring (40)
- Hibernate (12)
- Struts (10)
- YUI (2)
- Extjs (22)
- .net (0)
- Eclipse (10)
- 社会主义 (2)
- 服务器 (9)
- CSS (8)
- 网络安全 (16)
- 版本控制 (9)
- PHP (2)
- Oracle (42)
- SQL server (1)
- Mysql (11)
- 项目管理 (3)
- 开发工具使用 (10)
- SQL语句 (7)
- Perl (0)
- Shell (6)
- 漏洞 (4)
- ibatis (5)
- hacker (2)
- SQL注入 (6)
- Hacker工具 (2)
- 入侵和渗透 (7)
- 插件/组件 (2)
- 最爱开源 (5)
- 常用软件 (2)
- DOS (1)
- HTML (2)
- Android (9)
- CMS (1)
- portal (8)
- Linux (7)
- OSGI (1)
- Mina (5)
- maven (2)
- hadoop (7)
- twitter storm (2)
- sap hana (0)
- OAuth (0)
- RESTful (1)
- Nginx (4)
- flex (1)
- Dubbo (1)
- redis (1)
- springMVC (1)
- node.js (1)
- solr (2)
- Flume (1)
- MongoDB (2)
- ElasticSearch (1)
最新评论
-
M_drm:
请问要怎么设置浏览器才不报没权限呢?
用JS在页面调用本地可执行文件的方法(ACTIVEX) -
Alexniver:
官方文档。When importing data into I ...
mysql导入数据过慢 解决方法 -
camelwoo:
我记得 Criteria 可以做连接查询与子查询,也可以做分页 ...
Hibernate总结篇二 -
zhenglongfei:
楼主如果SubKeyName 这个节点不存在,怎么办??怎么用 ...
Java操作注册表 -
yxx676229549:
用log4j 2 了
logback
在使用<input id="file_upl" type="file" />控件上传文件时,有时会需要获取文件本地路径展示给客户,这时可以通过这样的方式获取文件本地路径:
document.getElementById('file_upl').value
这在IE7及以前的IE浏览器版本上都没有问题,但是到IE8上面,就不行了,在IE8中你只会获取到这样的路径:"C:\fakepath\xxx”,其中xxx是你的文件名。
这是怎么回事呢?
原来,IE8出于安全性的考虑,上传文件时屏蔽了真实的本地文件路径,而以“C:\fakepath\”取代之。
但是我们就是想要获取真实的本地文件路径怎么办呢?
你可以通过设置浏览器安全选项得到真实路径:
Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径 -> 选“启动” -> 确定
但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。
例如我的上传文件控件的HTML代码是:
那么在JS代码中我就可以这样来获取真实的文件路径:
如果我们用的是Ext,那么我们会使用Ext.ux.form.FileField组件,假设我们赋给它的id是"file_upl",这时同样会产生上面的问题,解决的办法也是一样,但是我们获取到type为file的input才行,而根据"file_upl"获取到的元素根本不是我们所需要的,Ext是自动生成了一个type为file的input,你可以通过DebugBar或其他类似工具看到这个input,它的id是赋给Ext.ux.form.FileField的id加上"-file"的后缀,也就是"file_upl-file",所以获取真实文件路径的JS代码就是:
此方案只针对IE浏览器,对其他浏览器火狐,js代码如下:
document.getElementById('file_upl').value
这在IE7及以前的IE浏览器版本上都没有问题,但是到IE8上面,就不行了,在IE8中你只会获取到这样的路径:"C:\fakepath\xxx”,其中xxx是你的文件名。
这是怎么回事呢?
原来,IE8出于安全性的考虑,上传文件时屏蔽了真实的本地文件路径,而以“C:\fakepath\”取代之。
但是我们就是想要获取真实的本地文件路径怎么办呢?
你可以通过设置浏览器安全选项得到真实路径:
Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径 -> 选“启动” -> 确定
但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。
例如我的上传文件控件的HTML代码是:
<input id="file_upl" type="file" />
那么在JS代码中我就可以这样来获取真实的文件路径:
var file_upl = document.getElementById('file_upl'); file_upl.select(); var realpath = document.selection.createRange().text;
如果我们用的是Ext,那么我们会使用Ext.ux.form.FileField组件,假设我们赋给它的id是"file_upl",这时同样会产生上面的问题,解决的办法也是一样,但是我们获取到type为file的input才行,而根据"file_upl"获取到的元素根本不是我们所需要的,Ext是自动生成了一个type为file的input,你可以通过DebugBar或其他类似工具看到这个input,它的id是赋给Ext.ux.form.FileField的id加上"-file"的后缀,也就是"file_upl-file",所以获取真实文件路径的JS代码就是:
var file_upl = document.getElementById('file_upl-file'); file_upl.select(); var realpath = document.selection.createRange().text;
此方案只针对IE浏览器,对其他浏览器火狐,js代码如下:
//附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列 function getPath(obj) //参数obj为input file对象 { if(obj) { if (window.navigator.userAgent.indexOf("MSIE")>=1) { obj.select(); return document.selection.createRange().text; } else if(window.navigator.userAgent.indexOf("Firefox")>=1) { if(obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } }
发表评论
-
jQuery无刷新无分页完美瀑布流
2013-08-11 19:33 1485这个是个非常棒的应用 ... -
UI组件:ext、JqueryEasyUI、miniui、dhtmlx及自定义页面
2013-05-16 13:43 3981UI组件:ext、JqueryEasyUI、miniui、dh ... -
jquery easy ui
2013-04-26 16:59 828http://bbs.btboys.com/forum.php ... -
JavaScript大牛:Douglas Crockford
2013-03-28 16:02 854JavaScript大牛:Douglas Crockford ... -
26 个 jQuery使用技巧
2013-01-24 09:29 1053[url]http://blog.csdn.net/sunbo ... -
js 函数function用法
2013-01-24 09:23 1058http://blog.csdn.net/sunboy_205 ... -
js 数组Array用法
2013-01-24 09:22 977http://blog.csdn.net/sunboy_20 ... -
10 个实用的 jQuery 表单操作代码片段
2012-11-28 09:52 1128转 http://www.iteye.com/news/266 ... -
JQuery Ajax提交表单数据时的问题
2012-09-04 17:37 2498function toSaveOutList(){ ... -
jquery 花瓣网方砖布局
2012-08-22 13:11 1208花瓣网方砖布局 图片内容无限加载 用户体验才是王道 http ... -
视频流传输协议RTP/RTCP/RTSP/HTTP的区别
2012-08-09 14:03 2486用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体 ... -
Ajax动态加载目录树(jquery-treeview)
2012-08-08 18:05 0原文:http://blog.csdn.net/bob007a ... -
JQuery上传插件Uploadify详解及其中文按钮解决方案
2012-08-08 18:02 0官网: http://www.uploadify.com/do ... -
一个简单的动态关闭DIV框的效果,带关闭按钮
2012-07-14 12:34 1486jquery设置获取div位置 var top=obj. ... -
jquery判断对象是否存在
2012-07-14 12:33 968用jquery判断一个对象是否存在不能用 if($ (& ... -
jquery 取值
2012-07-12 14:28 1039jquery radio取值,checkbox取值,selec ... -
Jquery获取select,dropdownlist,checkbox下拉列表框的值
2012-07-10 17:45 1137jQuery获取 Select选择的Tex ... -
详解Ext + Struts2 文件上传
2012-05-18 10:34 3531前阵子项目里面需要实现文件上传的功能,前后换了包括我在内的三个 ... -
Extjs 中的cookie设置
2012-04-25 17:34 2127发现Extjs中有两个cookie 其一:设置cookie如 ... -
ExtJS column布局后labelField无法显示的问题
2012-04-18 10:43 1998第一次用Extjs的column布局时遇见了很多问题,记录下来 ...
相关推荐
标题 "IE8上传文件时javascript取文件的真实路径的问题(\"C:\\fakepath\\xxxxx )" 描述了一个在使用Internet Explorer 8 (IE8) 浏览器进行文件上传时遇到的技术挑战。在这个问题中,JavaScript无法获取到文件的实际...
自己项目中遇到上传时fakepath的问题,通过这个js解决
然而,在实际应用中,开发者有时会遇到一些特定的问题,比如在使用`<input type="file" />`元素进行图片上传时,Chrome浏览器会显示一个特殊的路径"C:\fakepath",这可能会给用户带来困扰或误解。本篇将详细讲解这个...
写在前面:计划实现图片上传预览功能,但是本地图片上传所获得路径为 C:\fakepath\”+文件名的形式,得不到文件真实路径,所以无法直接预览,于是采用将图片上传至服务器,传回服务器路径,实现预览。前端采用通过...
例如,IE浏览器会返回"C:\\fakepath\\test.txt"来代替真实的"D:\\temp\\file\\test.txt"。这样做的目的是为了防止脚本通过用户选择的文件来获取用户的本地文件系统信息,从而避免安全风险。 在描述中提到,用户想要...
js获取真实路径 IE 火狐浏览器的真实路径地址。
为了优化电脑性能,我们需要将谷歌浏览器的临时文件路径修改到其他非系统盘,如D盘或E盘。这可以通过以下步骤实现: 1. 打开谷歌浏览器,点击右上角的三个垂直点,进入“设置”。 2. 在设置页面中,滚动到底部并...
通常,我们无法直接通过 JavaScript 获取到用户选择的文件的实际路径,只能获取到一个模拟路径,如 `c:/fakepath/`。这是因为浏览器不希望网站获取到用户的本地文件系统信息。因此,我们需要借助其他方法,如 AJAX,...
然而,由于历史原因,Internet Explorer(简称IE)浏览器在处理某些Web技术时存在兼容性问题,这使得图片上传在IE上可能会遇到挑战。本文将深入探讨如何实现图片上传功能并确保其在IE浏览器上的兼容性。 首先,我们...
C_fakepath_原料药注册生产现场检查要求及问题分析.pptx
文件路径的处理可能是这样的:对于IE,代码会获取到一个类似于"C:\fakepath\image.jpg"的假路径;而FF则会返回实际的文件系统路径,但出于安全考虑,开发者不能直接访问。因此,对于FF,我们只需要关注File API即可...
在VBScript(VBS)中,浏览本地文件并获取完整路径是常见的任务,尤其是在需要用户交互选择文件的情况下。本文将详细介绍三种不同的方法来实现这一功能,适用于不同的操作系统环境。 1. **使用`UserAccounts.Common...
百度之后得到说浏览器基于保护用户的相关安全措施,隐藏了上传的真实路径,用fakepath代替,当然,调整浏览器的相关安全设置可以解决这个问题。但我们不可能让所有用户都通过设置浏览器的安全设置来进行图片上传,...
要求:仅获取attr中的 “编辑发起状态的执行人表单” ,路径C:\fakepath\是不固定的,可以是C:\fakepath\hhh\hhhh\ 解决: var attr = C:\fakepath\编辑发起状态的执行人表单.png attr = title.split(".")[0]; // ...
#读取INI ReadINI类,用于读取您的.ini文件#用法: 将数据写入您的.ini文件var rini = new ReadINI ( @" C:\FakePath\Settings.ini " );rini . Write ( " Some Key " , " Some Value " , " Some Section. !Default...
当然,出于安全原因,这个路径可能是一个伪造的路径(例如`C:\fakepath\filename`),并不指向实际文件位置。 2. 获取文件名 通过监听`change`事件,我们可以通过事件对象`e`来访问`e.currentTarget.files[0].name`...
该功能可以在 Axure 原型设计中使用,解决了浏览器安全机制下文件路径被 fakepath 代替的问题。 首先,需要在页面上放置三个元件:一个文本框、两个矩形。文本框需要设置输入类型为“文件”,中间的大矩形用于显示...
在整个过程中,还可能出现一个常见的问题,即在IE浏览器中获取到的文件路径可能包含“c:/fakepath/”,这是因为出于安全考虑,浏览器不允许脚本直接访问用户选择的文件路径。文档中提到了对此问题的解决方案,但遗憾...