Я пытаюсь преобразовать путь к загруженному файлу в angular в массив байтов [] после получения его в виде строки в контроллере весенней загрузки с помощью @RequestParam. Я добавляю байтовый массив к объекту, используя простой установщик в классе модели. при регистрации я получаю 400 HttpError Response
Класс модели
@Entity
@Table(name="registration")
public class Registration {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int id;
private String name;
private String username;
private String password;
@Lob
private byte[] image;
// respective getters,setters and constructor
Мой регистрационный репозиторий
@Repository
public interface RegistrationRepository extends JpaRepository<Registration, Integer> {
public List<Registration> findByUsernameAndPassword(String username,String password);
}
Служба регистрации присутствует
Контроллер регистрации: -
@RestController
@RequestMapping("/register")
@ComponentScan
public class RegistrationController {
@Autowired
private RegistrationService res;
@PostMapping("/registeruser")
public ResponseEntity<Registration> registeruser(@RequestBody Registration reg, @RequestParam String filename) throws IOException
{
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
String userHashedPassword = bCryptPasswordEncoder.encode(reg.getPassword());
File file = new File(filename);
byte[] picInBytes = new byte[(int) file.length()];
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(picInBytes);
fileInputStream.close();
reg.setImage(picInBytes);
Registration resm= new Registration(reg.getName(),reg.getUsername(),userHashedPassword, reg.getImage());
Registration userResp = res.registeruser(resm);
return new ResponseEntity<Registration>(userResp,HttpStatus.OK);
}