Загрузка файла весенней загрузки Mongobd

#mongodb #spring-boot #file

Вопрос:

У меня есть модуль в весенней загрузке,я работаю с mongodb, речь идет о загрузке и загрузке файла, когда я пытаюсь загрузить и загрузить файл, оба они работают, но я не смог открыть загруженный файл, и ошибка в том, что этот файл не может быть прочитан, и это недопустимый растровый файл или этот формат не поддерживается

 @RestController public class FileController {    private FileService fileService;   public FileController(FileService fileService) {  this.fileService = fileService;  }   @PostMapping("/upload")  public ResponseEntitylt;?gt; upload(@RequestParam("file") MultipartFile file) throws IOException {  return new ResponseEntitylt;gt;(fileService.addFile(file), HttpStatus.OK);  }   @GetMapping("/download/{id}")  public ResponseEntitylt;ByteArrayResourcegt; download(@PathVariable String id) throws IOException {  LoadFile loadFile = fileService.downloadFile(id);   return ResponseEntity.ok()  .contentType(MediaType.parseMediaType(loadFile.getFileType() ))  .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=""   loadFile.getFilename()   """)  .body(new ByteArrayResource(loadFile.getFile()));  }    }  

Моя служба

 @Service public class FileService {  private GridFsTemplate template;   private GridFsOperations operations;   public FileService(GridFsTemplate template, GridFsOperations operations) {  this.template = template;  this.operations = operations;  }   public String addFile(MultipartFile upload) throws IOException {   //define additional metadata  DBObject metadata = new BasicDBObject();  metadata.put("fileSize", upload.getSize());   //store in database which returns the objectID  Object fileID = template.store(upload.getInputStream(), upload.getOriginalFilename(), upload.getContentType(), metadata);   //return as a string  return fileID.toString();  }   public LoadFile downloadFile(String id) throws IOException {   //search file  GridFSFile gridFSFile = template.findOne( new Query(Criteria.where("_id").is(id)) );    //convert uri to byteArray  //save data to LoadFile class  LoadFile loadFile = new LoadFile();   if (gridFSFile != null amp;amp; gridFSFile.getMetadata() != null) {  loadFile.setFilename( gridFSFile.getFilename() );   loadFile.setFileType( gridFSFile.getMetadata().get("_contentType").toString() );   loadFile.setFileSize( gridFSFile.getMetadata().get("fileSize").toString() );   loadFile.setFile( IOUtils.toByteArray(operations.getResource(gridFSFile).getInputStream()) );  }   return loadFile;  }  }