WebEngineDownloadRequest QML Type
Provides information about a download. More...
|Import Statement:||import QtWebEngine|
- 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 models a download throughout its life cycle, starting with a pending download request and finishing with a completed download. It can be used, for example, to get information about new downloads, to monitor progress, and to pause, resume, and cancel downloads.
Downloads are usually triggered by user interaction on a web page. It is the WebEngineProfile's responsibility to notify the application of new download requests, which it does by emitting the downloadRequested signal together with a newly created WebEngineDownloadRequest. The application can then examine this item and decide whether to accept it or not. A signal handler must explicitly call accept() on the item for Qt WebEngine to actually start downloading and writing data to disk. If no signal handler calls accept(), then the download request will be automatically rejected and nothing will be written to disk.
All items are guaranteed to be valid during the emission of the downloadRequested signal. If accept() is not called by any signal handler, then the item will be deleted immediately after signal emission. This means that the application must not keep references to rejected download items.
In addition to normal file downloads, which consist simply of retrieving some raw bytes from the network and writing them to disk, Qt WebEngine also supports saving complete web pages, which involves parsing the page's HTML, downloading any dependent resources, and potentially packaging everything into a special file format (savePageFormat). To check if a download is for a file or a web page, use isSavePageDownload.
downloadDirectory : string
downloadFileName : string
id : int
Holds the download item's ID.
[read-only] interruptReason : enumeration
Returns the reason why the download was interrupted:
|Unknown reason or not interrupted.|
|General file operation failure.|
|The file cannot be written locally, due to access restrictions.|
|Insufficient space on the target drive.|
|The directory or file name is too long.|
|The file size exceeds the file system limitation.|
|The file is infected with a virus.|
|Temporary problem (for example the file is in use, out of memory, or too many files are opened at once).|
|The file was blocked due to local policy.|
|An attempt to check the safety of the download failed due to unexpected reasons.|
|An attempt was made to seek past the end of a file when opening a file (as part of resuming a previously interrupted download).|
|The partial file did not match the expected hash.|
|General network failure.|
|The network operation has timed out.|
|The network connection has been terminated.|
|The server has gone down.|
|The network request was invalid (for example, the original or redirected URL is invalid, has an unsupported scheme, or is disallowed by policy).|
|General server failure.|
|The server does not have the requested data.|
|The server did not authorize access to the resource.|
|A problem with the server certificate occurred.|
|Access forbidden by the server.|
|Unexpected server response (might indicate that the responding server may not be the intended server).|
|The user canceled the download.|
See also interruptReasonString.
interruptReasonString : string
Returns a human-readable description of the reason for interrupting the download.
See also interruptReason.
[read-only] isFinished : bool
Whether this download is finished (completed, cancelled, or non-resumable interrupted state).
[read-only] isSavePageDownload : bool
Whether this is a download request for saving a web page or a file.
See also savePageFormat.
mimeType : string
Holds the MIME type of the download.
receivedBytes : int
Holds the amount of data in bytes that has been downloaded so far.
savePageFormat : enumeration
Describes the format that is used to save a web page.
|This is not a request for downloading a complete web page.|
|The page is saved as a single HTML page. Resources such as images are not saved.|
|The page is saved as a complete HTML page, for example a directory containing the single HTML page and the resources.|
|The page is saved as a complete web page in the MIME HTML format.|
state : enumeration
Describes the state of the download:
|Download has been requested, but it has not been accepted yet.|
|Download is in progress.|
|Download completed successfully.|
|Download was cancelled by the user.|
|Download has been interrupted (by the server or because of lost connectivity).|
suggestedFileName : string
Returns the suggested file name.
totalBytes : int
Holds the total amount of data to download in bytes.
-1 means the total size is unknown.
[read-only] url : url
Returns the download's origin URL.
[read-only] view : WebEngineView
Returns the view the download was requested on. If the download was not triggered by content in a view,
nullptr is returned.
See also WebEngineView.
Accepts the download request, which will start the download.
If the item is in the
DownloadRequested state, then it will transition into the
DownloadInProgress state and the downloading will begin. If the item is in any other state, then nothing will happen.
See also state.
Cancels the download.
If the item is in the
DownloadInProgress state, then it will transition into the
DownloadCancelled state, the downloading will stop, and partially downloaded files will be deleted from disk.
If the item is in the
DownloadCompleted state, then nothing will happen. If the item is in any other state, then it will transition into the
DownloadCancelled state without further effect.
See also state.
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.