如何解决 C:\fakepath?

2022-08-30 00:08:49
<input type="file" id="file-id" name="file_name" onchange="theimage();">

这是我的上传按钮。

<input type="text" name="file_path" id="file-path">

这是我必须显示文件完整路径的文本字段。

function theimage(){
 var filename = document.getElementById('file-id').value;
 document.getElementById('file-path').value = filename;
 alert(filename);
}

这是解决我问题的JavaScript。但是在警报值中给了我

C:\fakepath\test.csv 

Mozilla给了我:

test.csv

但是我想要本地完全限定的文件路径。如何解决此问题?

如果这是由于浏览器安全问题造成的,那么应该采用哪种替代方法执行此操作?


答案 1

某些浏览器具有安全功能,可防止 JavaScript 知道文件的本地完整路径。这是有道理的 - 作为客户端,您不希望服务器知道本地计算机的文件系统。如果所有浏览器都这样做,那就太好了。


答案 2

document.getElementById("file-id").files[0].name; 

而不是

document.getElementById('file-id').value