因为IE8增加了安全选项,默认情况下不显示上传文件的真实路径,真实的路径会被C:/fakepath/取代,从而上传时找不到本地路径。
两种解决办法:
1,进入internet选项,修改下设置即可显示真实的文件路径。
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
2,JS里取得追加代码。
<script type="text/javascript">
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;
}
}
//以下即为完整客户端路径
var filepath=getPath(document.getElementById("iptfileupload"));
</script>