Отправка нескольких файлов сервлету с одним подключением

Я пишу настольный клиент Java, который будет отправлять несколько файлов по сети сервлету с помощью почтового запроса. В сервлете я получаю входной поток из запроса на получение файлов. Сервлет будет записывать файлы на диск, один за другим, по мере их чтения из потока.

Реализация имеет несколько требований:

  • К серверу должен использоваться только один HTTP-запрос (то есть только один поток).
  • Сервлет должен использовать разумный фиксированный объем памяти, независимо от размера файлов.

Я рассматривал возможность вставки маркеры в поток, чтобы я знал, когда заканчивается один файл и начинается следующий. Затем я бы написал некоторый код для анализа потока в сервлете и начал бы писать следующий файл, если это необходимо.

Вот в чем дело ... конечно, для этого есть библиотека. Я просмотрел apache commons и ничего не нашел. Загрузка файла Commons интересна, но поскольку загрузка происходит из приложения Java, а не из браузера, она решает только принимающую сторону, а не отправку.

Любые идеи для библиотеки, которая легко позволяет передавать несколько файлов через один поток с фиксированной памятью ожидания даже для очень больших файлов?

Спасибо.

5
задан BalusC 21 December 2010 в 00:27
поделиться