Sobes.tech
Junior — Middle

É possível enviar um arquivo em resposta a uma solicitação numa aplicação que utiliza Spring MVC?

sobes.tech IA

Resposta da IA

Sim, no Spring MVC é possível enviar um ficheiro em resposta a uma solicitação. Para isso, normalmente usa-se ResponseEntity com o corpo na forma de Resource ou InputStreamResource, e também define-se os cabeçalhos apropriados, como Content-Type e Content-Disposition.

Exemplo de um controlador que devolve um ficheiro:

@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() throws IOException {
    Path filePath = Paths.get("path/to/file.txt");
    Resource resource = new UrlResource(filePath.toUri());

    return ResponseEntity.ok()
        .contentType(MediaType.APPLICATION_OCTET_STREAM)
        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename= file.txt")
        .body(resource);
}

Esta abordagem permite ao cliente obter o ficheiro como anexo para download.