|
|
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
собссно вопрос - мне надо в свое приложение загрузить файл в 1 гиг, и параллельно же его выгрузить на сторонний файл-сервер работающий так же по хттп. если я буду перехватывать инпут стрим который получаю от клиента и следом его перебрасывать в стрим который занимается отправлением в другой сервис - у меня же оперативка не кончится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 17:19 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
andreykaT, Если правильно перехватить стрим и копировать через буфер в целевой стрим, то память не кончится. Другое дело что большинство web фреймверков таки стараются файл на диске сначала сохранить, а не отдавать HTTP IO Stream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 17:42 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. Код: java 1. 2. 3. 4. 5. в этих двух примерах где и что будет использоваться? я так понимаю, первый вариант точно будет как минимум, в память сохранять. не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:01 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
andreykaT, Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:08 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
я так понимаю, если имплементируется Код: java 1. то он сам инпут в аутпут стрим копирует Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:11 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Ставлю на то, что в обоих вариантах будет сначала все сбрасываться в файл. Иначе не представляю как сервер сможет правильно сделать HttpServletRequest.getParts() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:12 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
UsmanandreykaT, Код: java 1. 2. 3. это понятно.. но тут вопрос куда будет этот 1гб утилизироваться? в память? или же просто будет перебрасывать стрим и сразу его перенаправлять дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:13 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakСтавлю на то, что в обоих вариантах будет сначала все сбрасываться в файл. Иначе не представляю как сервер сможет правильно сделать HttpServletRequest.getParts() по ходу да. партс врайт делает запись на диск: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:25 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
andreykaTUsmanandreykaT, Код: java 1. 2. 3. это понятно.. но тут вопрос куда будет этот 1гб утилизироваться? в память? или же просто будет перебрасывать стрим и сразу его перенаправлять дальше? Код: java 1. Код: plaintext 1. 2. 3. По умолчанию значение равно 0. Не знаю будет ли перебрасываться/перенаправляться стрим или нет, но записываться на диск, как я понял, будет сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:52 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Usman Код: java 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 18:55 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
да. по ходу всегда будет временный фолдер использоваться. итого выгрузка большого файла только частями.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 19:28 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
тогда другой вопрос - а как получать файл частями. но реально частями, от фронта чтоб с каждой частью я мог отдельно что-то сделать? я знаю что это возможно. можно влоб решить. но это криво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 19:58 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
например так: MultipartHttpServletRequest.getFileNames() )) - т.е. браузер в имени файла будет кодировать его кусочки и номера )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 20:02 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
небольшой ресерч дал информацию что аплоад в таких случаях делают раздельно позапросно передавая инфу либо в параметрах реквеста либо в хедерах о том какой парт летит. т.е. если мы делаем парт по 10 мб, и шлем файл в гиг - будет сто постов. впрочем, не уверен, что это бест практис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 23:22 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
andreykaT, а тебе интересны только решения релевантные к Spring? Или можно другие посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 00:56 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
ну я думал что может у спринга есть что-то на эту тему готовое.. оказалось нету ничего. все грузят в лупе кусками 1 кусок= 1 пост. ну и ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 01:00 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Когда Spring появился - он был просто клеем для склеивания компонент в приложение. Сегодня на него накручивают роли и ответственности которые должен делать прикладной код или библиотека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 01:02 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
andreykaTтогда другой вопрос - а как получать файл частями. но реально частями, от фронта чтоб с каждой частью я мог отдельно что-то сделать? я знаю что это возможно. можно влоб решить. но это криво.см. FileReader ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 06:44 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
andreykaTну я думал что может у спринга есть что-то на эту тему готовое.. оказалось нету ничего. все грузят в лупе кусками 1 кусок= 1 пост. ну и ладно.вот и вопрос был, почему ты именно у спринга ищешь. Это как в ЖЭКе спрашивать какой пылесос купить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 07:36 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Мне кажется автор может спокойно грузить 1гиг в temp и не париться. Насколько я понимаю томик возник из опасения что при конвейерной обработке возникнет OutOfMemory. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 08:29 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
IMHO у автора не совсем web-приложение, а скорее некое подобие proxy. В данном случае, желание уйти от промежуточного хранения и обработки совершенно понятна. И из-за ресурсов и из-за скорости работы (latency). и параллельно же его выгрузить на сторонний файл-сервер работающий так же по хттп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:32 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, В вебе просто передаётся ссылка на ресурс. Без перекачивания байтов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:37 |
|
||
|
загрузка большого файла спринг
|
|||
|---|---|---|---|
|
#18+
Petro123Leonid Kudryavtsev, В вебе просто передаётся ссылка на ресурс. Без перекачивания байтов. ну в общем да. так и сделал в итоге. переделегировал )) фрагментацией и заливкой файла на конечный пункт будут заниматься фанаты джаваскрипта. одна из причин почему изначально было желание пропускать трафик через себя - не показывать ресурс для аплоада и параметры которые сидят в линке приходящей со стороннего сервиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 21:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39581279&tid=2122349]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 184ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...