浏览器不能访问本地文件

问题

image.png
浏览器为了安全都禁止访问本地文件。

思路

有没有那个浏览器可以设定一个让浏览器读取本地文件的目录,浏览器只能访问该目录下的文件?
chrome已霸占桌面,chrome有没有这个功能?有的话该如何设置?

跨域

实际上不能访问本地文件只是一个跨域行为,如果html页面是本地的话,是可以访问本地文件的,但是网上给的chrome跨域问题都是无效的,我用的chrome版本是80。

阅读 14.3k
4 个回答

chrome 23+ 支持插件使用 chrome.fileSystem 在用户的允许下打开指定的文件夹。
chrome 78+ 已经有 #native-file-system-api(chrome://flags/#native-file-system-api) ,至于对应哪个接口,还没看过原文档,估计也要先向用户申请权限。
目前读取文件最靠谱的还是本地服务、input。

  1. 浏览器不允许 Web 访问文件系统
  2. 你可以用 <input type="file"> 或者 drag & drop API 来访问特定的文件和文件夹(但是刷新后会失效,原因同1)

建议用express启动一个简单的http服务。
几行代码的事儿。

我这是个编辑器,主要供内部新闻采编人员使用,以实现快捷粘贴图片来提高工作效率,可通过粘贴单个图片、多个图片并保存为base64或者上传到服务器,目前就剩下word内容含有多图的粘贴保存功能无法实现。
chrome使用了image.png并指定了用户目录,仍然不行,这才发帖求助。感谢1、2楼,特别感谢madRain,给出了两个解决方案。

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