отправить много файлов из апплета в сервлет - PullRequest
0 голосов
/ 19 декабря 2011

Мне нужно отправить X количество файлов в мой сервлет из апплета, какой лучший способ сделать это?И мне нужно отправить до того, как файлы заполнены Java-объектом.Мне нужно сделать все это в одном соединении.

Я буду загружать свой апплет 3 ~ 10 МБ в свой сервлет.

В настоящее время я использую FileInput вместе с OutputStream и BufferedOutputStream для отправки файларазмер буфера составляет 8 КБ.

В первый раз я попытаюсь сжать все файлы, чтобы загрузить ZIP-файл в сервлет, но я знаю, что это не очень хорошее решение.

1 Ответ

1 голос
/ 19 декабря 2011

На стороне апплета отправьте его как обычный multipart/form-data запрос либо URLConnection, либо HttpClient . На стороне сервлета используйте либо HttpServletRequest#getParts(), либо Commons FileUpload , чтобы извлечь части из запроса. Таким образом, апплет и сервлет не тесно связаны друг с другом, а просто могут повторно использоваться на разных серверах (например, PHP) и / или клиентах (например, простая HTML-страница).

Независимо от того, нужно ли заархивировать отдельные файлы в один zip-файл, это решение, которое вам нужно принять самостоятельно, основываясь на кодировании и влиянии на производительность.

...