我想编写一个自动上传文件的浏览器插件。所以这将在纯Javascript中完成。
这就是我所知道的:
input#someId
文件上传输入
计算机中的文件名和位置
我正在尝试"硬编码"在console
现在作为"概念证明"但我无法让它发挥作用。
我尝试过这两种方法:
inputElement.click()
由于inputElement
是该输入的querySelector
。
使用what's the equivalent of jquery's 'trigger' method without jquery?中的initMouseEvent
但错误Uncaught TypeError: Cannot read property 'dispatchEvent' of null
所以我的问题是:
如何触发文件上传元素的点击输入?
更好:如何完全处理上传?基本上传递文件名+位置以便开始上传(例如当用户单击“确定”从对话框中打开文件时)
更新1:
我正在读这个http://www.thecssninja.com/javascript/fileapi 也许无法从文件系统上传文件。这些替代方案如何:
我们可以从url(http)
该文件只是图像和Javascript内存(base64)
如果可以自动上传并绕过对话框并通过本地文件系统搜索文件,则上述任何一个都应该没问题。我在想如果可以拖动图像DOM甚至画布怎么办?
答案 0 :(得分:1)
正如人们评论的那样,你不能这样做。出于安全原因,您绝对无法访问编程填充文件输入。考虑一下,有些老兄可以添加一个简单的脚本来窃取你电脑上的文件,你甚至都不知道!
据我所知,无法完成。