怎么用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
怎么获取上传文件的完成路径呢? 展开
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
怎么获取上传文件的完成路径呢? 展开
3个回答
展开全部
file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。
这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的
这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的
追问
经过一会的网络搜索,很显然,你的答案是复制过来的。
也很高兴的告诉你,经过结合了HTML5提供的新技术FileHeader,成功地在file标签未作出提交前,分别获得了文件的:fileName、fileSize、file Last Mod、、、
唯一的缺点就是:未能在IE下通过。
不过,这不是什么缺点,因为我是在手机端的web开发,这里是andriod和IOS的天下。
谢谢你的回答!
展开全部
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;
}
}
<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;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
晕。你用的什么浏览器。你这段代码没问题啊
很遗憾,刚搜索了下资料。在firefox下无法获取全部路径
很遗憾,刚搜索了下资料。在firefox下无法获取全部路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询