<input type="file">在IE下是没有问题的,可以获得全部路径。但是在Firefox和chrome下就只能获得文件名
搜了下,好像说浏览器安全问题,Firefox3.0之后就不能获得全部路径了。用js获得的值是fakepath/文件名。
<input type="file">在IE下是没有问题的,可以获得全部路径。但是在Firefox和chrome下就只能获得文件名
搜了下,好像说浏览器安全问题,Firefox3.0之后就不能获得全部路径了。用js获得的值是fakepath/文件名。
btn.onchange = function(){
var f= this.files[0]||this.files.item(0);
var url = window.URL.createObjectURL(f);
}
这样可以得到
<input type='text' name='textfield' id='textfield' class='txt' />
<input type="file" name="fileField" class="file" id="fileField" size="28" onchange="document.getElementById('textfield').value=this.value" />
可以的话望采纳
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
这就是浏览器所做的安全考量。新版的IE也一样拿不到真实路径。
因为文件路径很有可能包含敏感信息,比如用户名。或者包含隐私信息,比如
D:\日本活塞运动的研究简历.pdf
(后面这个是开个玩笑,但是用户名是可以配合某些浏览器或者浏览器插件漏洞入侵/感染你的电脑的)所以不要枉费心机了。。。即使你能找到一个偏门的方案拿到路径,过几天说不定就被修复了。
要正视信息安全,不要总觉得这些安全措施在给开发者找麻烦。飞机不一样得安检么?