Обработка многочастного потока загрузки в Java - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть этот метод для «обработки многоэтапной загрузки» потока:

public class FileUpload {
    public static FileItemIterator parse(final byte[] data, final String contentType) {
        try {
            final ServletFileUpload upload = new ServletFileUpload();
            final HttpServletRequest request = new MockHttpServletRequest(data, contentType);
            final boolean isMultipart = ServletFileUpload.isMultipartContent(request);
            if ((!isMultipart)) {
                throw new Exception("Illegal request for uploading files. Multipart request expected.");
            }
            FileItemIterator iter = upload.getItemIterator(request);
            return iter;
        } catch (Throwable _e) {
            throw Exceptions.sneakyThrow(_e);
        }
    }
}

Где данные InputStream преобразуются в байтовый массив:

-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myFile"; filename="test.txt"
Content-Type: text/plain

Simple file.
-----------------------------8721656041911415653955004498--

При этом тип контента -multipart/form-data; boundary=-----------------------------8721656041911415653955004498

Проблема с этим кодом в том, что FileIterator всегда пуст.Я думаю, что параметр данных здесь правильный и основан на стандарте MIME. В чем может быть причина того, что итератор будет пустым?

пс.Это отдельная программа типа Uber Jar, поэтому она не основана на сервлетах

...