level 1
我在加载html的时候就知道我要读取什么文件了,所以不需要input控件辅助获取文件。然后网上告诉我用ActiveXObject的GetFile对象,结果浏览器给我报‘ActiveXObject is not defined’。我就是一个纯粹的js小白,压根儿没想到js读取文件的方法不像其他语言那么直观。求大佬解答问题的答案呀!
2020年05月17日 03点05分
1
level 13
先说结论:不可能。
目前只能通过 input 来获取文件。与其说 input 是辅助手段不如说是唯一手段。ActiveX 现在只有 IE 还支持,其他浏览器想走这条路只能自己开发插件。因此,你要加载的文件如果是图片等直接显示在页面上的建议用利用 img iframe 等直接显示,其他情况的建议用 Base64 嵌入你的 js 脚本,但这会导致修改麻烦。如果这两种方式都不能满足你的需求,那就只能走 input 这条路。我了解的就这么多。
2020年05月17日 04点05分
2
好的,我猜结果也是如此。但是我不是很理解为什么是这样的设计呢?难道没有这样的需求吗?
2020年05月17日 06点05分
@中二的公蜗牛 有是有,但是这种行为在规范制定方看来是一种危及用户安全的行为,如果能让脚本编写者能够自由地获取用户文件会引发一定的危险,因此一定需要用户的操作才可以获取到文件。
2020年05月17日 06点05分
@BSPR0002 请问一下,我电脑重装系统之后然后jdk就安装不了了,怎么办
2020年05月17日 06点05分
@贴吧用户_5K59ee4 这里是 js 吧不是 java 吧,你这个问题应该去 java 吧问
2020年05月17日 06点05分