您的位置:首页 > Web前端 > JavaScript

Atitit.js获取上传文件全路径

2015-06-16 17:01 746 查看
Atitit.js获取上传文件全路径





1. 默认的value只能获取文件名。。安全原因。。 1

2. Firefox浏览器的读取 1

3. Html5 的file api 2

4. 解决方法::使用applet插件 2

5. 参考 3



1. 默认的value只能获取文件名。。安全原因。。

js是无法获取file 控件的值的,你要获取的话可以通过后台程序语言用json或者xml之类的格式来返回被上传的文件路径。





file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。

这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的





不能获取的。你可以读取里面的内容,以便预览等处理





作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax




2. Firefox浏览器的读取

使用firefox 主要是firefox的getAsDateURL()或者 方法对路径进行了加密



获取到的是 blob:http://localhost:8080/c43a7b27-6bfc-4a6d-a933-516175198f41





Ff window.URL.createObjectURL也是这样



好像是二进制数据,img可以用。。但是路径没有。。





3. Html5 的file api

雅士自能名字,不能路径









4. 解决方法::使用applet插件

Prj。Vod2

<input name="button4" type="button" id="button4" onclick="MM_openBrWindow('../com.attilax/filepath.html?callback=set_txtpath','','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=300,height=300')" value="插件浏览" />





------------filepath.html

<body>



<script src="web/req.js"></script>

<applet codebase="../classes"



code="aaaCfg.FileFullPathJApplet.class"



ARCHIVE="ant-1.8.2.jar"



name="ftpApp2"



width="320"



height="240">







<!--<param name="p0" value="">



<param name="p1" value="">-->







</applet>

<script>

function callback(file)

{

// alert(file);

var openner_callback=UrlParm.parm('callback');

var meth="window.opener."+openner_callback;

//alert(meth)

var exe= meth+"(file)";

// alert(exe);

eval(exe);

window.close();

}

</script>



5. 参考

Firefox 7.0下getAsDataURL取文件绝对路径的替代方法-VEase.htm

javascript 调用 window.URL.createObjectURL(fileObj) 时老说类型无效,代码如下_百度知道.htm

JS获取上传文件的绝对路径,兼容IE和FF - ydmx_lei的日志 - 网易博客.htm

html5获取文件上传的路径问题-CSDN论坛-CSDN.NET-中国最大的IT技术社区.htm

Atitit.java的浏览器插件技术 Applet japplet attilax总结

atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: