我的文件上传html代码如下:
<input type="text" id="txtSelectedFile" value="Select a file" class="sloInputBox" />
<input type="file" id="fUploadArtifact" style="background-color: #249FDA; color: white; height: 22px; width: 45px;border-radius: 4px;" />
和Jquery一起得到它的路径:
$(function()
{
$('#fUploadArtifact').on('change',function ()
{
$('#txtSelectedFile').val($(this).val());
});
});
但每次虽然我从任何一个驱动器中获取任何文件,但它给我的路径错误:
C:\fakepath\Readme.txt
我选择了E:\Observations\Readme.txt
但它给了我C:\fakepath\Readme.txt
可能是什么错误?
请帮帮我。
答案 0 :(得分:2)
由于安全原因,使用html文件类型时无法获得实际的文件路径。
答案 1 :(得分:1)
它是一种安全功能,可防止JavaScript知道您文件的本地路径
答案 2 :(得分:1)
几乎所有浏览器都有一项安全功能,可以防止javascript知道您文件的本地完整路径。这是有道理的 - 作为客户,您不希望服务器知道您本地计算机的文件系统。如果所有浏览器都这样做会很好。
您可能会得到很好的解释here