使用QtWebEngine将图像保存到磁盘

时间:2017-05-23 05:42:24

标签: qt downloading qtwebengine

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

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

它不一定非常优雅,但页面使用身份验证,而.load似乎传递了这些信息。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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