Тип QML WebEngineDownloadItem
Предоставляет информацию о загружаемом файле. Подробнее...
| Заявление об импорте: | import QtWebEngine 1.8 |
| С момента: | 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 : логическое
Загрузка завершена (завершена, отменена или прервана, но не возобновляема).
Это свойство было добавлено в QtWebEngine 1.6.
[только для чтения] isPaused : логическое
Загрузка приостановлена.
Это свойство было добавлено в QtWebEngine 1.6.
[только для чтения] isSavePageDownload : логическое
Является ли это запросом на загрузку веб-страницы или файла.
Это свойство было добавлено в 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.12/qml-qtwebengine-webenginedownloaditem.html