Как исправить остальное получить, загрузка файла показывая иногда файл не найден ошибка - PullRequest
0 голосов
/ 13 мая 2019

Итак, я пытаюсь загрузить файл, который я загружаю ранее, используя метод rest get, но иногда я получаю сообщение об ошибке «файл не найден», а иногда это просто работает. Я не знаю, где проблема.

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

@GET
  @Path("/{fileName}")
  @Produces(MediaType.APPLICATION_OCTET_STREAM)
  public Response downloadFile(@PathParam("fileName") String fileName) throws IOException
  {
    File ivyFile = new File(fileName);
    byte[] data = ivyFile.readBinary().toByteArray();
    StreamingOutput fileStream = new StreamingOutput()
      {
        @Override
        public void write(java.io.OutputStream output)
        {
          try
          {
            output.write(data);
            output.flush();
          }
          catch (IOException e)
          {
            throw new WebApplicationException("Could not Find the file: '" + fileName + "'", e);
          }
        }
      };
    return Response.ok(fileStream, MediaType.APPLICATION_OCTET_STREAM)
            .header("content-disposition", "attachment; filename = " + fileName).build();
  }

Я ожидаю скачать файл с содержимым и увидеть его.

EDIT: Также я получаю ответ 200, когда эта ошибка происходит. И эта ошибка также:

MalformedChunkCodingException: CRLF expected at end of chunk
    FacesException: org.apache.http.MalformedChunkCodingException: CRLF expected at end of chunk
    Error during rendering of html dialog 'com.axonivy.connectivity.rest.FileUpload'

1 Ответ

0 голосов
/ 27 мая 2019

Я нашел решение. Проблема была с моей IDE, которая вызвала тайм-аут для загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...