upload上传文件时, 怎么拿到这个文件的实际路径?

可能是chrome出于安全考虑, 在上传文件时, 拿不到文件在本机的实际路径.

可是, 我的需求有些特殊. 用户需要在特定的机器上选择文件, 后台服务是部署在同一台机器上. 因为文件特别大, 经过接口上传没有意义, 就打算直接拿到文件地址发给后台.

有什么办法可以设置浏览器实现这个功能吗? 最好chrome或Firefox

阅读 3.8k
2 个回答

纯靠浏览器是不可以拿到文件的本地真实路径的,这个涉及到隐私问题浏览器开发商不可能给你开放这种API(做了就是在自掘坟墓,有这种API的浏览器谁敢用。一不小心访问到灰产网页分分钟本地文件都暴露出去了)。

可以考虑自己魔改一份 Chromium(误),其实使用 ElectronJS 做成桌面应用通过打包在应用内的 NodeJS 去获取本地路径会比较合适。

但最好还是让部署在本地的后端服务帮你做好本地文件的路径扫描,然后反馈给你一个可选列表让用户去选择,这样实现和改造的成本最低。

你的需求跟你的描述没什么关系,你的问题是走错方向。其实你要做的是:

  1. 读取本地文件目录结构,并返回给前端
  2. 前端渲染出目录结构,如同文件管理器
  3. 用户选择文件
  4. 传给后端接口处理

你并不需要上传文件,自然也不需要上传接口,最后也不需要考虑由上传接口获取真实路径。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题