JDK 17, версия весенней загрузки 3.2.5. Чтение файла и потоковая передача в ответ. Предоставление 0-байтовых данныхJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JDK 17, версия весенней загрузки 3.2.5. Чтение файла и потоковая передача в ответ. Предоставление 0-байтовых данных

Сообщение Anonymous »

JDK 17, версия Spring Boot 3.2.5. Чтение файла и потоковая передача в ответ. Предоставление 0-байтовых данных. Вот детали кода: -

Код: Выделить всё

File file = new File(filePath);
//Added permission for file path
file.setExecutable(false);
file.setReadable(true);
file.setWritable(true);

// Create StreamingResponseBody
StreamingResponseBody responseBody = outputStream -> {
// Read file content
Path path = Paths.get(filePath);
byte[] data = Files.readAllBytes(path);
try (InputStream inputStream = new ByteArrayInputStream(data)) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
} catch (IOException e) {
throw new RuntimeException("Error streaming PDF", e);
} finally {
deleteUserPrintDir(filePath, file);
data=null;
path=null;
}
};

return ResponseEntity.ok().header("Content-Disposition",
"attachment; fileName=\"" + file.getName() + "\"")
.contentType(org.springframework.http.MediaType.APPLICATION_PDF)
.body(responseBody);
Отдаю 0 Кб в ответ. Заранее спасибо, если кто-нибудь может помочь в этом.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -the-respo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»