WebEngineDownloadRequest QML 类型
提供关于下载的信息。 更多...
导入语句 | import QtWebEngine |
实例化 | QWebEngineDownloadRequest |
属性
- downloadDirectory : string
- downloadFileName : string
- id : int
- interruptReason : enumeration
- interruptReasonString : string
- isFinished : bool
- isPaused : bool
- isSavePageDownload : bool
- mimeType : string
- receivedBytes : int
- savePageFormat : enumeration
- state : enumeration
- suggestedFileName : string
- totalBytes : int
- url : url
- view : WebEngineView
方法
详细描述
WebEngineDownloadRequest 在整个下载的生命周期中模拟一个下载,从待处理的下载请求开始,到完成的下载结束。它可以用来获取有关新下载的信息,监控进度,以及暂停、恢复和取消下载。
下载通常由用户在网页上的交互触发。通知应用程序新的下载请求是WebEngineProfile的责任,它会通过发出downloadRequested信号和新建的WebEngineDownloadRequest来做到这一点。应用程序可以检查此项目并决定是否接受。信号处理器必须显式调用项目上的accept()方法,Qt WebEngine才能真正开始下载并将数据写入磁盘。如果没有信号处理器调用accept(),则下载请求将自动被拒绝,并且不会写入任何内容到磁盘。
对象生命周期
所有项目在downloadRequested信号发出时都是有效的。如果没有任何信号处理器调用accept(),则项目将在信号发出后立即被删除。这意味着应用程序不能保留对已拒绝的下载项的引用。
网页下载
除了正常的文件下载,仅包括从网络获取一些原始字节并将其写入磁盘之外,Qt WebEngine还支持保存完整的网页,这涉及解析网页的HTML、下载任何依赖资源,并将所有内容打包到一个特殊文件格式(savePageFormat)中。要检查下载的是文件还是网页,请使用isSavePageDownload。
另请参阅WebEngineProfile、WebEngineProfile::downloadRequested和WebEngineProfile::downloadFinished。
属性文档
downloadDirectory : string |
保存下载数据的目标路径的全路径,不包含文件名。
下载目录只能在下载被接受之前在downloadRequested处理程序中设置。
downloadFileName : string |
保存下载数据的文件名。
下载文件名只能在下载被接受之前在downloadRequested处理程序中设置。
id : int |
保存下载项的ID。
interruptReason : enumeration |
返回下载中断的原因
常量 | 描述 |
---|---|
WebEngineDownloadRequest.NoReason | 未知原因或未中断。 |
WebEngineDownloadRequest.FileFailed | 一般文件操作失败。 |
WebEngineDownloadRequest.FileAccessDenied | 由于访问限制,文件无法本地写入。 |
WebEngineDownloadRequest.FileNoSpace | 目标驱动器空间不足。 |
WebEngineDownloadRequest.FileNameTooLong | 目录或文件名过长。 |
WebEngineDownloadRequest.FileTooLarge | 文件大小超出文件系统限制。 |
WebEngineDownloadRequest.FileVirusInfected | 文件感染了病毒。 |
WebEngineDownloadRequest.FileTransientError | 临时问题(例如文件正在使用中、内存不足或一次打开了太多文件)。 |
WebEngineDownloadRequest.FileBlocked | 因本地策略阻止了文件。 |
WebEngineDownloadRequest.FileSecurityCheckFailed | 由于意外原因,尝试检查下载安全性失败。 |
WebEngineDownloadRequest.FileTooShort | 在打开文件时尝试读取文件末尾之外的文件(作为恢复以前中断的下载的一部分)。 |
WebEngineDownloadRequest.FileHashMismatch | 部分文件与预期的哈希值不匹配。 |
WebEngineDownloadRequest.NetworkFailed | 通用网络错误。 |
WebEngineDownloadRequest.NetworkTimeout | 网络操作已超时。 |
WebEngineDownloadRequest.NetworkDisconnected | 已终止网络连接。 |
WebEngineDownloadRequest.NetworkServerDown | 服务器已关闭。 |
WebEngineDownloadRequest.NetworkInvalidRequest | 网络请求无效(例如,原始或重定向的URL无效、方案不受支持或被策略禁止)。 |
WebEngineDownloadRequest.ServerFailed | 通用服务器错误。 |
WebEngineDownloadRequest.ServerBadContent | 服务器没有请求的数据。 |
WebEngineDownloadRequest.ServerUnauthorized | 服务器未授权访问资源。 |
WebEngineDownloadRequest.ServerCertProblem | 服务器证书出现问题。 |
WebEngineDownloadRequest.ServerForbidden | 服务器禁止访问。 |
WebEngineDownloadRequest.ServerUnreachable | 意外的服务器响应(可能表明响应服务器可能不是预期的服务器)。 |
WebEngineDownloadRequest.UserCanceled | 用户取消了下载。 |
interruptReasonString : string |
返回中断下载的原因的易读描述。
另请参阅interruptReason.
isFinished : bool |
该下载是否完成(完成、取消或不可恢复的中断状态)。
isSavePageDownload : bool |
这是保存网页或文件的下载请求。
另请参阅savePageFormat.
mimeType : string |
包含下载的MIME类型。
receivedBytes : int |
包含至今下载的字节数量。
savePageFormat : enumeration |
描述用于保存网页的格式。
常量 | 描述 |
---|---|
WebEngineDownloadRequest.UnknownSaveFormat | 这不是完整的网页下载请求。 |
WebEngineDownloadRequest.SingleHtmlSaveFormat | 页面保存为单个HTML页面,资源(如图片)不保存。 |
WebEngineDownloadRequest.CompleteHtmlSaveFormat | 页面保存为完整的HTML页面,例如包含单个HTML页面和资源的目录。 |
WebEngineDownloadRequest.MimeHtmlSaveFormat | 页面以MIME HTML格式保存为完整的网页。 |
状态 : 枚举 |
描述下载的状态
常量 | 描述 |
---|---|
WebEngineDownloadRequest.DownloadRequested | 已请求下载,但尚未接受。 |
WebEngineDownloadRequest.DownloadInProgress | 下载正在进行。 |
WebEngineDownloadRequest.DownloadCompleted | 下载成功完成。 |
WebEngineDownloadRequest.DownloadCancelled | 用户取消了下载。 |
WebEngineDownloadRequest.DownloadInterrupted | 下载被中断(由服务器或因断开连接导致)。 |
建议的文件名 : 字符串 |
返回建议的文件名。
totalBytes : 整数 |
包含要下载的总数据量(字节)。
-1
表示总大小未知。
url : URL |
返回下载的原始URL。
view : WebEngineView |
返回发起下载的视图。如果下载不是由视图中的内容触发的,则返回 nullptr
。
另请参阅WebEngineView。
方法文档
void accept() |
接受下载请求,这将开始下载。
如果项目处于 DownloadRequested
状态,则它将进入 DownloadInProgress
状态并开始下载。如果项目处于任何其他状态,则不会发生任何操作。
另请参阅状态。
void cancel() |
取消下载。
如果项目处于 DownloadInProgress
状态,则它将进入 DownloadCancelled
状态,下载将停止,且部分下载的文件将从磁盘删除。
如果项目处于 DownloadCompleted
状态,则不会发生任何操作。如果项目处于任何其他状态,则它将进入 DownloadCancelled
状态,而不产生其他影响。
另请参阅状态。
void resume() |
© 2024 Qt公司有限公司。本文档中包含的文档贡献的版权均属于各自所有者。提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关商标是芬兰以及全球其他国家的Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。