Я создал конечную точку, я могу найти файл, но когда я собираюсь вернуть ResponseEntity, это то, с чем я сталкиваюсь.
MessageBodyWriter не найден для media type = текст / простой, тип = класс org.springframework.http.ResponseEntity, genericType = org.springframework.http.ResponseEntity .
Вот мой FileDownloadController:
@GET
@Path("{senderId}_{groupId}/download/{fileId}")
public ResponseEntity<Resource> download(@PathParam("senderId") String senderId,
@PathParam("groupId") String groupId,
@PathParam("fileId") String fileId) {
Resource resource = null;
String contentType = null;
try {
resource = loadFileAsResource(senderId, groupId, "testUpload.png");
File file = resource.getFile();
MimetypesFileTypeMap fileTypeMap = new MimetypesFileTypeMap();
contentType = fileTypeMap.getContentType(file.getName());
if(contentType == null) {
contentType = "application/octet-stream";
}
} catch (IOException e) {
log.error(e.getMessage());
}
log.info("fileId: {}",fileId);
log.info("senderId: {}",senderId);
log.info("groupId: {}",groupId);
log.info("FileName: {}", resource.getFilename());
log.info("mimeType: {}", contentType);
return ResponseEntity.ok()
.contentType(org.springframework.http.MediaType.parseMediaType(contentType))
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
.body(resource);
}
private Resource loadFileAsResource(String senderId, String groupId, String fileName) {
try {
String path = "attachments/" + groupId + "/" + senderId;
java.nio.file.Path fileStorageLocation = Paths.get(path).toAbsolutePath().normalize();
java.nio.file.Path filePath = fileStorageLocation.resolve(fileName).normalize();
Resource resource = new UrlResource(filePath.toUri());
if(resource.exists()) {
return resource;
} else {
throw new MyFileNotFoundException("File not found " + fileName);
}
} catch (MalformedURLException ex) {
throw new MyFileNotFoundException("File not found " + fileName, ex);
}
}
, а это от моего почтальона:
This is from the directory where files are saved:
введите описание изображения здесь
Кто-нибудь сталкивался с этим раньше или имеет представление о том, чего мне здесь не хватает (зависимости и т. Д. c.)