i具有DCEF(嵌入铬)的应用。
在浏览器会话期间,我想将特定页面下载到内存中,而无需在铬中显示它(要下载的页面是一个XML文件,我想在将其写入磁盘之前要对其进行加密)。
在此下载期间,铬中的当前页面应保持不变。
使用crm.browser.mainframe.loadurl和crm.onbeforedownload这样:
procedure TMainForm.crmBeforeDownload(Sender: TObject;
const browser: ICefBrowser; const downloadItem: ICefDownloadItem;
const suggestedName: ustring; const callback: ICefBeforeDownloadCallback);
begin
callback.Cont(ExtractFilePath(ParamStr(0)) + 'myfile.xml', False);
end;
..文件写入磁盘。
有没有办法在内存中获取它?
使用CefWebURLRequest
类来提出请求。收到所有数据(通过CefWebURLRequestClient::OnData
回调)后,您可以对其进行加密并将其写入磁盘。