Итак, я пытаюсь загрузить файл, который я загружаю ранее, используя метод 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'