近日做的上传附件,在IE8下出了问题,检查发现是IE8把上传的真是路径被\fakepath\覆盖了.通过修改IE8的设置,确实
能解决问题.不过这种要求客户端修改设置的做法很不合理,用户多了.不能让所有人都改吧.于是网上搜了一下js获取真实上传路径.
找到一个神码..兼容火狐和IE,Opera和谷歌chrome未测试.
function getPath(obj) {
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;
}
}
客户端调用方法:
<input type=“file” id=“filepath” />
<input type=“button” value=“导入“onclick=“getPath(document.getElementById(‘filepath’));”/>
转载请注明:苏demo的别样人生 » IE8上传附件,路径被隐藏问题