Возник вопрос, как скачивать большие файлы через http, если сохранять через него же, то на слабых ссдшниках переполнение происходит и тормоза начинаются в ФС, а если через предварительную загрузку в память, а после выгрузку на диск, то при большом файлике свыше 500мб, краш приложения.
Вопрос в том, как грузить в память по 100мб а после сбрасывать в файл, дабы не создавать кучищу записей на диск, каждый байт ну и память не нагружать.
Этот топик читают: Гость
Ответов: 1341
Рейтинг: 31
|
|||
карма: 2 |
|
Google
vip
|
#1.1контекстная реклама от партнеров
|
Ответов: 1924
Рейтинг: 172
|
|||
Rysik, попробуй так:
Но я не проверял досконально, так что, возможно, придётся поиграть со свойствами компонентов. |
|||
карма: 9 |
|
Ответов: 1341
Рейтинг: 31
|
|||
3042, Ничего не происходит
Редактировалось 1 раз(а), последний 2018-08-12 10:05:18 |
|||
карма: 2 |
|
Ответов: 1924
Рейтинг: 172
|
|||
Rysik, похоже, так не получится, т.к. компонент сразу скачивает весь файл.
Придётся поиграть с Position/Length компонента HTTP_Get. Вот скачивание первых 1024 байт:
|
|||
карма: 9 |
|
Ответов: 1341
Рейтинг: 31
|
|||
Оказывается всё намного проще))), нужно просто в исходнике компонента, указать буффер не 1024 байт а поболее))) (это отличная оптимизация к скорость закачки больших файлов!)
отличным решением было использовать модифицированный компонент от NetSpirit, версии 1.3, изменив строку:
Редактировалось 1 раз(а), последний 2018-08-13 14:55:23 |
|||
карма: 2 |
|
Ответов: 1924
Рейтинг: 172
|
|||
А ещё лучше добавить свойство компонента, чтоб указывать размер самому.
ps. В код я как-то не лазил, хотел на имеющихся свойствах прокатить. |
|||
карма: 9 |
|
Ответов: 286
Рейтинг: 5
|
|||
Rysik Вы имеете ввиду компонент HTTPClient
|
|||
карма: 0 |
|
Ответов: 1341
Рейтинг: 31
|
|||
Udokanec писал(а): Rysik Вы имеете ввиду компонент HTTPClientда, его модифицированную версию 3042 писал(а): А ещё лучше добавить свойство компонента, чтоб указывать размер самому.да, но лучше пожалуй штатный компонент полностью заменить на модифицированный от NetSpirit, и добавить туда такое свойство |
|||
карма: 2 |
|
8