我设法在网页中获取按钮的元素。我知道它的ID,它的类等;我甚至设法从Google Chrome扩展程序的内容脚本中触发点击事件。该按钮位于Google网页内。
虽然有一个浏览按钮,但会打开一个openDialog窗口并提示用户选择某个文件进行上传。如何在不提示用户输入文件的情况下继续自动上传?我只是想从内容脚本中提取字符串,网页从那里获取它。
Google Chrome浏览器中是否有针对此问题的解决方案?
谢谢!
答案 0 :(得分:3)
如果您从客户端计算机上传,则无法进行。它是file.upload的安全功能。如果检查上传文件的路径,则会注意到c:// fakepath / xxxxx这是为了防止应用程序在客户端计算机上查找文件结构。
https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
答案 1 :(得分:1)
在Firefox附加组件中(好吧,在特权部分,即不是SDK页面模型等),您可以构建一个可以与常规HTML5内容一起使用的文件对象(XMLHttpRequest
,{{ 1}};))直接通过the File
"constructor":
FormData
对于Chrome,你很幸运,因为@David已在另一个答案中正确指出。
编辑1 :
实际上,当涉及到chrome时,可能会请求a file://*
permission,让用户明确选择加入,然后使用xhr
等首先将文件检索为blob,然后上传blob与另一个var file = File("path/to/some/file");
。但是,Haven没有测试过这个。