我现在可以获取到想要传的文件路径,有没有方法不通过input来获取到文件数据,js或者vue直接获取有没有相关的方法,求解求解
我现在可以获取到想要传的文件路径,有没有方法不通过input来获取到文件数据,js或者vue直接获取有没有相关的方法,求解求解
无法做到。浏览器客户端不支持直接访问本地文件,只能通过input窗口(准确的说是input调出的系统文化选择窗口)访问。且input这种方式,也是选取文件时将本地文件缓存到浏览器,然后用户将这个缓存的临时文件上传,也就是用户无法访问到文件在客户端的真是路径
你的意思是在前端这样处理?
如果你开发前端应用程序只是利用了javascript语言、vue等技术,比如用Eletron来开发客户端程序,是可以这样做的。
如果是普通的web页面,希望前端这样处理,因为浏览器安全策略,是不可能做到的。
选文件是必须的,想象一下如果无需用户选择网站可以直接读取系统文件是一个多可怕的事情。
但选文件不一定要通过文本输入框,可以使用较新的 showOpenFilePicker
(兼容性太差),或者拖拽文件到浏览器 drop
事件,或者写一个隐藏的输入框然后脚本触发点击就可使用按钮等方式来调用文件选择。
并且出于安全考虑,选择的文件是无法知晓路径的,文件路径会是 fakepath
。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
chrome文件系统, 方法:
返回一个Promise