MessageBodyWriter не найден для типа мультимедиа при загрузке файла - PullRequest
0 голосов
/ 03 августа 2020

Я создал конечную точку, я могу найти файл, но когда я собираюсь вернуть 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);
    }
}

, а это от моего почтальона: enter image description here

This is from the directory where files are saved:

введите описание изображения здесь

Кто-нибудь сталкивался с этим раньше или имеет представление о том, чего мне здесь не хватает (зависимости и т. Д. c.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...