#spring #spring-boot #image #if-statement #file-upload
Вопрос:
Я загружаю изображение как binairy в springboot mongo ,это работает, но как мне сделать так, чтобы, если изображения нет, сохранить другие значения без изображения.
Вот моя модель
сущность публичного класса {
@Id
private String id;
private String username;
private String name;
private String surname;
private String dob;
private String position;
private String email;
private String contactNo;
private Address address;
private BusinessInformation businessInformation;
private Binary image;
//With contstructor and Getters and Setter
Мой контроллер выглядит следующим образом ,поверьте, я допускаю ошибку в разделе изображения if
//Update or Create entity
@RequestMapping(value = "/updateEntity", method = RequestMethod.POST, consumes = "multipart/form-data")
public ResponseEntity<Entity> updateEntity(@RequestPart("entity") @Valid Entity entity, @RequestPart("file") @Valid Optional<MultipartFile> image) throws IOException {
byte[] imageData = null;
if (image.isPresent() amp;amp; image.get() != null)
imageData = image.get().getBytes();
if (imageData == null amp;amp; entity.getId() != null) {
Optional<Entity> readEntity = entityRepository.findById(entity.getId());
if (readEntity.get() != null)
imageData = readEntity.get().getImage().getData();
}
if (imageData != null) {
entity.setImage(new Binary(BsonBinarySubType.BINARY, imageData));
}
Entity result = entityRepository.save(entity);
return ResponseEntity.ok().body(result);
}
При сохранении без моего изображения я получаю исключение NullPointerException: ошибка null