2017-05-23 98 views
1

我希望能够加载网页URL并将页面上的图像保存到磁盘。使用QtWebEngine将图像保存到磁盘

对于非图像我可以简单地使用QWebEngineView.load所需的URL并触发QWebEngineProfile.downloadRequested在那里我可以指定文件路径,并接受下载。但是,图像只会在浏览器中显示并绕过downloadRequested。

它并不一定是优雅的,但页面使用身份验证和.load似乎传递信息。

回答

1

嗯,我现在发现了一个解决方法...在Qt 5.8中,QWebEnginePage有一个保存功能,它为当前加载的网页发出下载...所以你只需使用QWebEngineView导航到图像URL。加载然后使用QWebEnginePage.save

2

您可以在加载任何内容之前将QWebEngineUrlRequestInterceptor安装到页面的配置文件中,并使用QWebEngineUrlRequestInfo::resourceType()来查看请求的资源是否为图像。如果是图片,则可以从QWebEngineUrlRequestInfo获取其URL并从中下载。