上传文件,jquery获取了一下 然后通过console.log()打印发现,获取的是一个不存在的路径C:\fakepath\Testcase_Excel.rar,Testcase_Excel.rar为我上传的文件,但是C:\fakepath并非文件所在路径。
原因:
这个是处于安全性考虑的,比如文件路径会暴露你的用户名或者其他内容,而通过fakepath直接代替了其中的路径名,保护隐私和安全。
解决办法:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。
//附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列functiongetPath(obj)
{
if(obj)
{
if(window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
returndocument.selection.createRange().text;
}
elseif(window.navigator.userAgent.indexOf("Firefox")>=1)
{
if(obj.files)
{
returnobj.files.item(0).getAsDataURL();
}
returnobj.value;
}
returnobj.value;
}
}
//参数obj为input file对象
.....
如果觉得《php获取input file路径 input上传文件获取路径为C:\fakepath\文件名》对你有帮助,请点赞、收藏,并留下你的观点哦!