1

我有一个带有 DCEF(Chromium Embedded)的应用程序。

在浏览器会话期间,我想将特定页面下载到内存中,而不在 Chromium 中显示(要下载的页面是一个 xml 文件,我想在将其写入磁盘之前对其进行加密)。

在此下载期间,Chromium 中的当前页面应保持不变。

像这样使用 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;

..文件被写入磁盘。

有没有办法让它在内存中?

4

1 回答 1

0

使用CefWebURLRequest类发出请求。一旦收到所有数据(通过CefWebURLRequestClient::OnData回调),您就可以对其进行加密并将其写入磁盘。

于 2013-05-22T16:54:47.143 回答