Я разрабатываю клиент J2ME, который должен загрузить файл в сервлет с использованием HTTP.
Часть сервлета покрыта с помощью Apache Commons FileUpload
protected void doPost(HttpServletRequest request, HttpServletResponse response)
{
ServletFileUpload upload = new ServletFileUpload();
upload.setSizeMax(1000000);
File fileItems = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
File file = new File("\files\\"+item.getName());
item.write(file);
}
}
Похоже, что Commons Upload может загружать только многокомпонентный файл, но без приложения / octect-stream.
Но для клиентской стороны нет классов Multipart, и в этом случае невозможно использовать любую библиотеку HttpClient.
Другой вариант может заключаться в использовании HTTP Chunk upload, но я не нашел четкого примера того, как это можно реализовать, особенно на стороне сервлета.
Мой выбор:
- Реализация сервлета для загрузки чанка http
- Реализовать необработанный клиент для создания http multipart
Я не знаю, как реализовать ни один из вышеперечисленных вариантов.
Любое предложение?