Размер zip-файла становится компромиссным при загрузке zip-файла в виде контента октет-потока с использованием службы rest - PullRequest
0 голосов
/ 04 июля 2019

Интерфейс моего отдыха:

@POST
@Path ("/xy/v1/xyz")
@Consumes({ MediaType.APPLICATION_OCTET_STREAM})
@Produces({ MediaType.APPLICATION_JSON })
Response import(InputStream fileInputStream, @Context HttpHeaders headers,
                @Context HttpServletRequest httpServletRequest,
                @Context UriInfo info) {

    try (ZipInputStream zipInputStream = new
         ZipInputStream(fileInputStream))
    {
        ZipEntry zipEntry = zipInputStream.getNextEntry();
        while (zipEntry != null)
        {
            if(!zipEntry.isDirectory())
            {
                data= new String(IOUtils.toByteArray(zipInputStream));
                fileName = zipEntry.getName().substring(zipEntry.getName().lastIndexOf("/")+1);
                list.add(
                         //...
                                  );
            }
            zipInputStream.closeEntry();
            zipEntry = zipInputStream.getNextEntry();
        }
    }
    catch (IOException e)
    {
        LOG.error("Exceptions occured while reading",e);
    }
}

Я получаю ZipEntry NULL, если я использую APPLICATION_OCTET_STREAM Content-Type.

Есть ли способ загрузить zip-файл, используя вышеуказанную конфигурацию конечной точки отдыха?

1 Ответ

0 голосов
/ 04 июля 2019

Поток октетов приложения предоставляет аргументы файла

@POST
@Path("upload")
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
@Produces(MediaType.TEXT_PLAIN)
public String upload(File f) {
    // ... The file contains the data uploaded
    return "ok";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...