Тип QML WebEngineDownloadItem
Предоставляет информацию о загружаемом файле. Подробнее...
| Заявление об импорте: | import QtWebEngine 1.9 |
| С момента: | QtWebEngine 1.1 |
Свойства
- id : int
- interruptReason : перечисление
- interruptReasonString : строка
- isFinished : bool
- isPaused : bool
- isSavePageDownload : bool
- mimeType : строка
- path : строка
- receivedBytes : int
- savePageFormat : перечисление
- state : перечисление
- totalBytes : int
- view : WebEngineView
Методы
Подробное описание
WebEngineDownloadItem моделирует загрузку на протяжении всего ее жизненного цикла, начиная с запроса на загрузку и заканчивая завершением загрузки. Его можно использовать, например, для получения информации о новых загрузках, для отслеживания прогресса и для приостановки, возобновления и отмены загрузок.
Загрузки обычно вызываются взаимодействием пользователя со страницей веб-сайта. WebEngineProfile несет ответственность за уведомление приложения о новых запросах на загрузку, что достигается путем вывода сигнала downloadRequested вместе с вновь созданным элементом WebEngineDownloadItem. Затем приложение может изучить этот элемент и решить, принять его или нет. Обработчик сигнала должен явно вызвать accept() для элемента, чтобы Qt WebEngine фактически начал загрузку и запись данных на диск. Если ни один обработчик сигнала не вызывает accept(), запрос на загрузку будет автоматически отклонен, и ничего не будет записано на диск.
Примечание: Некоторые свойства, такие как path, в котором будет сохранен файл, могут быть изменены только до вызова accept().
Жизненный цикл объекта
Гарантируется, что все элементы будут действительны во время вывода сигнала downloadRequested. Если accept() не вызывается ни одним обработчиком сигнала, элемент будет удален немедленно после вывода сигнала. Это означает, что приложение не должно хранить ссылки на отклоненные элементы загрузки.
Загрузки веб-страниц
В дополнение к обычным загрузкам файлов, которые состоят просто из получения некоторых сырых байтов из сети и записи их на диск, Qt WebEngine также поддерживает сохранение полных веб-страниц, что включает в себя разбор HTML-кода страницы, загрузку всех зависимых ресурсов и потенциально объединение всего в специальный формат файла (savePageFormat). Чтобы проверить, является ли загрузка файлом или веб-страницей, используйте isSavePageDownload.
См. также WebEngineProfile, WebEngineProfile::downloadRequested и WebEngineProfile::downloadFinished.
Документация по свойствам
id : int
Содержит идентификатор элемента загрузки.
[только для чтения] interruptReason : перечисление
Возвращает причину прерывания загрузки:
| Константа | Описание |
|---|---|
WebEngineDownloadItem.NoReason |
Неизвестная причина или загрузка не была прервана. |
WebEngineDownloadItem.FileFailed |
Ошибка общей операции с файлами. |
WebEngineDownloadItem.FileAccessDenied |
Файл не может быть записан локально из-за ограничений доступа. |
WebEngineDownloadItem.FileNoSpace |
Недостаточно места на целевом диске. |
WebEngineDownloadItem.FileNameTooLong |
Имя каталога или файла слишком длинное. |
WebEngineDownloadItem.FileTooLarge |
Размер файла превышает ограничение файловой системы. |
WebEngineDownloadItem.FileVirusInfected |
Файл инфицирован вирусом. |
WebEngineDownloadItem.FileTransientError |
Временная проблема (например, файл используется, нет памяти или одновременно открыто слишком много файлов). |
WebEngineDownloadItem.FileBlocked |
Файл заблокирован из-за локальной политики. |
WebEngineDownloadItem.FileSecurityCheckFailed |
Попытка проверить безопасность загрузки завершилась по непредвиденным причинам. |
WebEngineDownloadItem.FileTooShort |
Была сделана попытка перейти за конец файла при открытии файла (как часть возобновления ранее прерванной загрузки). |
WebEngineDownloadItem.FileHashMismatch |
Частичный файл не совпал с ожидаемой хеш-суммой. |
WebEngineDownloadItem.NetworkFailed |
Общее сетевое повреждение. |
WebEngineDownloadItem.NetworkTimeout |
Сеансовая сетевая операция истекла. |
WebEngineDownloadItem.NetworkDisconnected |
Сетевое соединение было прервано. |
WebEngineDownloadItem.NetworkServerDown |
Сервер вышел из строя. |
WebEngineDownloadItem.NetworkInvalidRequest |
Сеть запроса неверна (например, исходный или перенаправленный URL недействителен, имеет неподдерживаемый протокол или запрещен политикой). |
WebEngineDownloadItem.ServerFailed |
Ошибка общей работы сервера. |
WebEngineDownloadItem.ServerBadContent |
Серверу не хватает запрошенных данных. |
WebEngineDownloadItem.ServerUnauthorized |
Сервер не разрешил доступ к ресурсу. |
WebEngineDownloadItem.ServerCertProblem |
Произошла проблема с сертификатом сервера. |
WebEngineDownloadItem.ServerForbidden |
Доступ запрещен сервером. |
WebEngineDownloadItem.ServerUnreachable |
Непредвиденный ответ сервера (может указывать на то, что отвечающий сервер не является предполагаемым сервером). |
WebEngineDownloadItem.UserCanceled |
Пользователь отменил загрузку. |
Это свойство было введено в QtWebEngine 1.5.
См. также interruptReasonString.
interruptReasonString : строка
Возвращает удобочитаемое описание причины прерывания загрузки.
Это свойство было введено в QtWebEngine 1.5.
См. также interruptReason.
[только для чтения] isFinished : bool
Является ли эта загрузка завершенной (завершенной, отмененной или прерванной, невосстанавливаемой).
Это свойство было введено в QtWebEngine 1.6.
[только для чтения] isPaused : bool
Приостановлена ли эта загрузка.
Это свойство было введено в QtWebEngine 1.6.
[только для чтения] isSavePageDownload : bool
Представляет ли это запрос на загрузку веб-страницы или файла.
Это свойство было введено в QtWebEngine 1.7.
См. также savePageFormat.
mimeType : строка
Содержит тип MIME загрузки.
Это свойство было добавлено в QtWebEngine 1.2.
path : строка
Содержит полный целевой путь, куда загружаются данные.
Путь включает имя файла. Предлагаемый по умолчанию путь — стандартное место для скачиваний, а имя файла определяется таким образом, чтобы не перезаписывать уже существующие файлы.
Путь загрузки можно установить только в обработчике downloadRequested до принятия запроса на загрузку.
См. также WebEngineProfile::downloadRequested() и accept().
receivedBytes : целое
Содержит количество данных в байтах, загруженных до настоящего момента.
savePageFormat : перечисление
Определяет формат сохранения веб-страницы.
| Постоянная | Описание |
|---|---|
WebEngineDownloadItem.UnknownSaveFormat |
Это не запрос на скачивание полной веб-страницы. |
WebEngineDownloadItem.SingleHtmlSaveFormat |
Страница сохраняется как единственная страница HTML. Ресурсы, такие как изображения, не сохраняются. |
WebEngineDownloadItem.CompleteHtmlSaveFormat |
Страница сохраняется как полная HTML-страница, например, каталог, содержащий единственную HTML-страницу и ресурсы. |
WebEngineDownloadItem.MimeHtmlSaveFormat |
Страница сохраняется как полная веб-страница в формате MIME HTML. |
Это свойство было добавлено в QtWebEngine 1.3.
state : перечисление
Описывает состояние загрузки:
| Постоянная | Описание |
|---|---|
WebEngineDownloadItem.DownloadRequested |
Запрос на загрузку был получен, но еще не принят. |
WebEngineDownloadItem.DownloadInProgress |
Загрузка в процессе. |
WebEngineDownloadItem.DownloadCompleted |
Загрузка завершена успешно. |
WebEngineDownloadItem.DownloadCancelled |
Загрузка отменена пользователем. |
WebEngineDownloadItem.DownloadInterrupted |
Загрузка прервана (сервером или из-за потери соединения). |
totalBytes : целое
Содержит общее количество данных для загрузки в байтах.
-1 означает, что общий размер неизвестен.
[только для чтения] view : WebEngineView
Возвращает представление, на котором был запрошен запрос на загрузку. Если загрузка не была инициирована содержимым в представлении, возвращается nullptr.
Это свойство было добавлено в QtWebEngine 1.8.
См. также WebEngineView.
Документация по методам
void accept()
Принимает запрос на загрузку, что запускает загрузку.
Если элемент находится в состоянии DownloadRequested, он переходит в состояние DownloadInProgress и начинается загрузка. Если элемент находится в любом другом состоянии, ничего не произойдёт.
См. также state.
void cancel()
Отменяет загрузку.
Если элемент находится в состоянии DownloadInProgress, он переходит в состояние DownloadCancelled, загрузка останавливается, а частично загруженные файлы удаляются с диска.
Если элемент находится в состоянии DownloadCompleted, ничего не произойдёт. Если элемент находится в любом другом состоянии, он переходит в состояние DownloadCancelled без дальнейших действий.
См. также state.
void pause()
Приостанавливает загрузку.
Не имеет эффекта, если состояние не DownloadInProgress. Состояние не изменяется.
Этот метод был добавлен в QtWebEngine 1.6.
void resume()
Возобновляет загрузку, если она была приостановлена или прервана.
Не имеет эффекта, если состояние не DownloadInProgress или DownloadInterrupted. Состояние не изменяется.
Этот метод был добавлен в QtWebEngine 1.6.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtwebengine-webenginedownloaditem.html