怎么利用XMLHttpRequest读取本地文件
javascript吧
全部回复
仅看楼主
level 1
睡了阿兰 楼主
open第二个参数是url,但是文件在本地,没有http服务器,怎么读取,火狐浏览器好像能支持file协议吧,但我试了,不好使
2023年06月26日 10点06分 1
level 13
本地文件不能通过 XMLHttpRequest 读取,XMLHttpRequest 只适合网络文件。
如果你需要调用本地文件,而又没有服务器,只能考虑将文件以某种形式嵌入到脚本中,适用于文件属于程序资源的一类情况。
如果文件不属于程序资源,属于要用程序处理的文件,可以用 input 元素手动获取这个文件。
如果属于第一类情况而你又不想嵌入的,可以考虑用 VSCode 的 LiveServer 插件虚拟一个本地网站来运行你的网页。
2023年06月26日 13点06分 2
谢谢你,怎么把本地文件嵌入到.js文件中,给个思路也好
2023年06月26日 13点06分
@睡了阿兰 把文件处理成 Base64 字符串,放在脚本里,运行时解码 Base64 字符串获得文件。也可以用 ASCII 字符串,不过比较难搞。
2023年06月26日 13点06分
@睡了阿兰 找个打包器就能把文本内容打包进去了,esbuild,rollup,webpack什么的都能做。坏处是文件内容如果需要更新就要重新打包,不够灵活。另外场景描述还是不够明确,做出来到底是给别人用还是自己本地用用?给别人用还没有服务器的话真不建议打包,除非文件内容不用更新。
2023年06月26日 21点06分
1