Тип QML WebEngineDownloadRequest
Предоставляет информацию о закачке. Подробнее...
| Заявление об импорте: | import QtWebEngine |
| Инициализирует: | QWebEngineDownloadRequest |
Свойства
- downloadDirectory : строка
- downloadFileName : строка
- id : целое число
- interruptReason : перечисление
- interruptReasonString : строка
- isFinished : логическое значение
- isPaused : логическое значение
- isSavePageDownload : логическое значение
- mimeType : строка
- receivedBytes : целое число
- savePageFormat : перечисление
- state : перечисление
- suggestedFileName : строка
- totalBytes : целое число
- url : url
- view : WebEngineView
Методы
Подробное описание
WebEngineDownloadRequest моделирует загрузку на протяжении всего её жизненного цикла, начиная с ожидающего запроса на загрузку и заканчивая завершённой загрузкой. Его можно использовать, например, для получения информации о новых загрузках, для отслеживания прогресса и для приостановки, возобновления и отмены загрузок.
Загрузки обычно вызываются взаимодействием пользователя на веб-странице. WebEngineProfile несёт ответственность за уведомление приложения о новых запросах на загрузку, что делает посредством отправки сигнала downloadRequested вместе с вновь созданным WebEngineDownloadRequest. Приложение может затем исследовать этот элемент и решить, принять его или нет. Обработчик сигнала должен явно вызвать accept() для элемента, чтобы Qt WebEngine фактически начал загрузку и запись данных на диск. Если ни один обработчик сигнала не вызывает accept(), то запрос на загрузку будет автоматически отклонен, и ничего не будет записано на диск.
Примечание: Некоторые свойства, такие как path, в котором будет сохранён файл, могут быть изменены только до вызова accept().
Жизненный цикл объекта
Гарантируется, что все элементы будут валидны во время отправки сигнала downloadRequested. Если accept() не вызывается ни одним обработчиком сигнала, то элемент будет удалён немедленно после отправки сигнала. Это означает, что приложение не должно сохранять ссылки на отклоненные элементы загрузок.
Загрузки веб-страниц
В дополнение к обычным загрузкам файлов, которые состоят просто из получения некоторых сырых байтов из сети и записи их на диск, Qt WebEngine также поддерживает сохранение полных веб-страниц, что включает в себя разбор HTML страницы, загрузку всех зависимых ресурсов и потенциально упаковку всего в специальный формат файла (savePageFormat). Чтобы проверить, является ли загрузка файлом или веб-страницей, используйте isSavePageDownload.
См. также WebEngineProfile, WebEngineProfile::downloadRequested и WebEngineProfile::downloadFinished.
Документация по свойствам
downloadDirectory : строка
Содержит полный целевой путь без имени файла, куда загружаются данные.
Директория загрузки может быть установлена только в обработчике downloadRequested до принятия загрузки.
См. также WebEngineProfile::downloadRequested() и accept().
downloadFileName : строка
Содержит имя файла, в который загружаются данные.
Имя файла загрузки может быть установлено только в обработчике downloadRequested до принятия загрузки.
См. также WebEngineProfile::downloadRequested() и accept().
id : целое число
Содержит идентификатор элемента загрузки.
[только чтение] interruptReason : перечисление
Возвращает причину прерывания загрузки:
| Постоянная | Описание |
|---|---|
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.
interruptReasonString : строка
Возвращает удобочитаемое описание причины прерывания загрузки.
См. также interruptReason.
[только чтение] isFinished : bool
Завершён ли этот запрос на скачивание (завершен, отменен или прерван без возможности возобновления).
[только чтение] isPaused : bool
Приостановлен ли этот запрос на скачивание.
[только чтение] isSavePageDownload : bool
Является ли этот запрос на скачивание запросом на сохранение веб-страницы или файла.
См. также savePageFormat.
mimeType : string
Содержит MIME-тип скачивания.
receivedBytes : int
Содержит объем данных в байтах, загруженных до сих пор.
savePageFormat : перечисление
Описывает формат, используемый для сохранения веб-страницы.
| Константа | Описание |
|---|---|
WebEngineDownloadRequest.UnknownSaveFormat |
Это не запрос на скачивание полной веб-страницы. |
WebEngineDownloadRequest.SingleHtmlSaveFormat |
Страница сохраняется как единая HTML-страница. Ресурсы, такие как изображения, не сохраняются. |
WebEngineDownloadRequest.CompleteHtmlSaveFormat |
Страница сохраняется как полная HTML-страница, например, каталог, содержащий единую HTML-страницу и ресурсы. |
WebEngineDownloadRequest.MimeHtmlSaveFormat |
Страница сохраняется как полная веб-страница в формате MIME HTML. |
state : перечисление
Описывает состояние загрузки:
| Константа | Описание |
|---|---|
WebEngineDownloadRequest.DownloadRequested |
Запрос на скачивание отправлен, но еще не принят. |
WebEngineDownloadRequest.DownloadInProgress |
Загрузка в процессе. |
WebEngineDownloadRequest.DownloadCompleted |
Скачивание завершено успешно. |
WebEngineDownloadRequest.DownloadCancelled |
Скачивание было отменено пользователем. |
WebEngineDownloadRequest.DownloadInterrupted |
Загрузка прервана (сервером или из-за потери подключения). |
suggestedFileName : string
Возвращает предложенное имя файла.
totalBytes : int
Содержит общий объем данных для скачивания в байтах.
-1 означает, что общий размер неизвестен.
[только чтение] url : url
Возвращает исходный URL скачивания.
[только чтение] view : WebEngineView
Возвращает представление, на котором был запрошен запрос на скачивание. Если скачивание не было инициировано содержимым в представлении, возвращается nullptr.
См. также WebEngineView.
Документация по методам
void accept()
Принимает запрос на скачивание, что запустит скачивание.
Если элемент находится в состоянии DownloadRequested, то он перейдет в состояние DownloadInProgress, и начнется загрузка. Если элемент находится в любом другом состоянии, то ничего не произойдет.
См. также state.
void cancel()
Отменяет скачивание.
Если элемент находится в состоянии DownloadInProgress, то он перейдет в состояние DownloadCancelled, загрузка остановится, а частично загруженные файлы будут удалены с диска.
Если элемент находится в состоянии DownloadCompleted, то ничего не произойдет. Если элемент находится в любом другом состоянии, то он перейдет в состояние DownloadCancelled без дальнейшего эффекта.
См. также state.
void pause()
Приостанавливает загрузку.
Не имеет эффекта, если состояние не DownloadInProgress. Не изменяет состояние.
void resume()
Возобновляет загрузку, если она была приостановлена или прервана.
Не имеет эффекта, если состояние не DownloadInProgress или DownloadInterrupted. Не изменяет состояние.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtwebengine-webenginedownloadrequest.html