我正在使用网页中调用 javascript
webBrowser2.Document.InvokeScript("download_file");`.
此 JavaScript 打开对话框,要求用户保存或打开文件。我想将文件直接保存到路径而不向用户显示对话框。我怎样才能做到这一点。我正在抓取网页。我正在从网页中提取所需的详细信息。
download_file():
function download_file() {
var summaryFlag = 0;
if (document.getElementById("frmincludefilesummary").checked) {
summaryFlag = 1;
}
url = '/filedatabase/file_process_request.html?mru=53616c7&type=doc';
url += '&sum=' + summaryFlag + '&logo=0&xcode=name&serve_txt=0&folderid=';
document.location = url;
}
你想要实现的目标是不可能的。 JavaScript 无法直接访问或写入客户端文件系统。如果允许,这将是一个巨大的安全漏洞。
替代选项是使用 flash、java 或 activeX。
这可以在基于 Chrome 的浏览器中通过 File System API 实现,但目前 Firefox 不支持。 这在 Firefox Web 标准 git 存储库上引起了“激烈争论”,所以我不会对很快实现这一点感到期待。