怎么用js获取上传文件的完整路径

<script>functionchange(src){alert(src);}</script><form><inputtype="file"onchange="cha... <script>

function change(src){
alert(src);

}

</script>

<form>
<input type="file" onchange="change(this.value)">

</form>

以上代码,假如我选择图片(C:\user\desktop\demo.jpg)上传,
方法 change() 的 this.value 只获取到文件的文件名,即:demo.jpg

怎么获取上传文件的完成路径呢?
展开
 我来答
百度网友8041235
2013-05-08 · TA获得超过227个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:225万
展开全部
file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。

这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的
追问
经过一会的网络搜索,很显然,你的答案是复制过来的。

也很高兴的告诉你,经过结合了HTML5提供的新技术FileHeader,成功地在file标签未作出提交前,分别获得了文件的:fileName、fileSize、file Last Mod、、、

唯一的缺点就是:未能在IE下通过。

不过,这不是什么缺点,因为我是在手机端的web开发,这里是andriod和IOS的天下。

谢谢你的回答!
huluyun009
2018-03-23
知道答主
回答量:51
采纳率:100%
帮助的人:10.4万
展开全部
IE8-11下亲测有郊。
<input type="file" id="open-file" onchange="Get_FileUploadLocalPath(this)">
function Get_FileUploadLocalPath(obj) {
alert(GetFileUploadLocalPath(obj));
}
//返回选取文件的本地路径
function GetFileUploadLocalPath(obj) {
//alert(window.navigator.userAgent);
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select();
var o = obj.createTextRange();
//alert(o.text);
return o.text;
}
else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
if (obj.files) {
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心戀米兰
2013-05-08 · TA获得超过433个赞
知道小有建树答主
回答量:279
采纳率:100%
帮助的人:280万
展开全部
晕。你用的什么浏览器。你这段代码没问题啊
很遗憾,刚搜索了下资料。在firefox下无法获取全部路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式