拿不到完整路径,因为隐私和安全问题。 选择文件/文件夹获取到的是一个虚拟路径或者说是一个短目录。 > 注意事项:当使用 `` 选择文件时,出于明显的安全原因,源文件的实际路径没有显示在 `input` 的 > `value` 属性中。实际上显示了文件名,并用 `C:\fakepath\` > 附加在路径的开头。这种怪癖有一些历史原因,但它在所有现代浏览器中都受到支持,而且实际上[在规范中也有定义](https://link.segmentfault.com/?enc=0YSzPsIE8Y2%2B9rQVuHiVKA%3D%3D.%2B15HrCCY%2B0LyShL2%2F%2FTho5Nz27Mf1MXeyx0nNIGIVDayflIVjGzFi1ud5Qha1Br6zzaOslDROnUU2RqX15b8VAxtrGeCoMtJi%2FxRCjM%2FnGI%3D)。 [ \- HTML(超文本标记语言) | MDN](https://link.segmentfault.com/?enc=%2Bl1%2ByCy8qyBc7Ks2s%2FUwDg%3D%3D.x9ysS4LiafIg1geGt%2Fs42zTSSWdGeI51c9d%2BBvbAL0OtTtVo9uWewhuJjQWBtB77bo7cZHuMt7uPR5bQpRgyGOZ4ZkLeeOcMA6ahMGUkCOw%3D) > 特别提醒:假设文件路径是 `C:\f1\f2\f3\file.txt`, 用户选择的是 f1 文件夹,则 Chrome、Firefox、Edge > 都能正确返回 `f2/f3/file.txt` 值。而国产的 QQ 浏览器、360 浏览器、UC 浏览器、搜狗浏览器都只能返回 > `f3/file.txt`。也就是国产浏览器调用 `webkitRelativePath` 返回的结果都不会是你希望得到的路径,请注意使用时的细微差距。 [File.webkitRelativePath - Web API 接口参考 | MDN](https://link.segmentfault.com/?enc=0gifamwU24wmofUe%2Fks%2BnQ%3D%3D.GhzxRhezlIYb%2FyY8mREKf42ZkvhQ%2FLjjJRq23yLMm558uOcab9zjJ%2BqaAh%2BEOScj8XVC8xqdyDR4FqGOY4ifK36bZFlg8XtQ4cGN9iZh3%2Bs%3D)