Wir haben eine HTTP-Anfrage, die, wenn auf Server behandelt wird eine Antwort ca. 3 GB in der Größe erstellen, diese Daten ist eine Zusammenfassung von 6 Abfragen an die Datenbank, wie können wir diese Daten als einzelne Antworten senden von 6 Abfragen als als eine Aggregation.Wie streamen große HTTP-Antwort im Frühjahr
0
A
Antwort
0
Ich tat dies:
@GetMapping("/{fileName:[0-9A-z]+}")
@ResponseBody
public ResponseEntity<InputStreamResource> get_File(@PathVariable String fileName) throws IOException {
Files dbFile = fileRepository.findByUUID(fileName);
if (dbFile.equals(null))
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
String filename = dbFile.getFileName();
Resource file = storageService.loadAsResource(dbFile.getFileName());
long len = 0;
try {
len = file.contentLength();
} catch (IOException e) {
e.printStackTrace();
}
MediaType mediaType = MediaType.valueOf(FileTypeMap.getDefaultFileTypeMap().getContentType(file.getFile()));
if (filename.toLowerCase().endsWith("mp4") || filename.toLowerCase().endsWith("mp3") ||
filename.toLowerCase().endsWith("3gp") || filename.toLowerCase().endsWith("mpeg") ||
filename.toLowerCase().endsWith("mpeg4"))
mediaType = MediaType.parseMediaType("application/octet-stream");
InputStreamResource resource = new InputStreamResource(new FileInputStream(file.getFile()));
return ResponseEntity.ok()
.contentType(mediaType)
.contentLength(len)
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getFilename() + "\"")
.body(resource);
}
0
StreamingResponseBody für asynchrone Anforderungsverarbeitung verwendet wird, wo die Anwendung direkt auf die Antwort Output schreiben kann.
Kasse dieser Artikel
http://www.logicbig.com/how-to/code-snippets/jcode-spring-mvc-streamingresponsebody/
http://shazsterblog.blogspot.in/2016/02/asynchronous-streaming-request.html
Verwandte Themen
- 1. Wie streamen große Dateien mit JAXB Marshaller?
- 2. Apache Camel: Wie große Dateien von AWS zu streamen?
- 3. Wie große Datenmengen zwischen Prozessen in bash in Windows streamen?
- 4. Wie Tabellendaten im Frühjahr Thymeleaf
- 5. Wie Autowire-Eigenschaft im Frühjahr
- 6. Wie GROUPBY im Frühjahr Daten
- 7. Wie behandelt DataIntegrityViolationException im Frühjahr?
- 8. Google Drive PHP API - So streamen Sie eine große Datei
- 9. Umgang mit Massenbildern, einige kleine - einige große, im Frühjahr/Java-Anwendung mit mysql
- 10. erstellen und streamen große XML-Dokument in C++
- 11. Cache aktualisiert im Frühjahr/Frühjahr Boot
- 12. Wie Frühjahr Sicherheit InternalAuthenticationServiceException im Frühjahr Provider geworfen zu handhaben
- 13. Streamen und entpacken Sie große CSV-Datei mit Ruby
- 14. @EnableScheduling im Frühjahr
- 15. Streamen Sie eine große Datei Zeile für Zeile von S3
- 16. Override ExecutorSubscribableChannel im Frühjahr?
- 17. Dynamische Datenquellenverbindung im Frühjahr
- 18. EOFException im Frühjahr REST
- 19. Dateispeicher im Frühjahr
- 20. Pfadattribut im Frühjahr
- 21. Log4j.properties im Frühjahr Boot
- 22. Testen @Scheduled im Frühjahr
- 23. CrudRepository im Frühjahr
- 24. Ausnahmebehandlung im Frühjahr mvc
- 25. Bean-Konfiguration im Frühjahr
- 26. Binding Annotation im Frühjahr
- 27. finall() im Frühjahr Dienste
- 28. @Specializes im Frühjahr
- 29. MessageInterpolator im Frühjahr
- 30. Verschachtelte Ausbreitung im Frühjahr
Sie können nur eine einzige Antwort von einer einzigen Anfrage zurück. –