Java 邮递员使用spring Boot JPA和db H2发布图像
有人能支持我吗?我正在做一件简单的事情,就是我正在尝试将图像保存到由邮递员上传的数据库中。我正在使用带spring boot的STS,jpa数据库是H2。我试着在纯文本上从postman获取/put/post/delete,它可以正常工作,在postman中获取图像时也可以正常工作。我在发布图像时遇到问题 模型类代码Java 邮递员使用spring Boot JPA和db H2发布图像,java,spring,spring-boot,jpa,Java,Spring,Spring Boot,Jpa,有人能支持我吗?我正在做一件简单的事情,就是我正在尝试将图像保存到由邮递员上传的数据库中。我正在使用带spring boot的STS,jpa数据库是H2。我试着在纯文本上从postman获取/put/post/delete,它可以正常工作,在postman中获取图像时也可以正常工作。我在发布图像时遇到问题 模型类代码 @Entity public class Alian { @Id private int aid; private Stri
@Entity
public class Alian
{
@Id
private int aid;
private String aname;
@Lob
private byte[] pic;
控制器类代码为。repo是dao类对象
@ResponseBody
@RequestMapping(path="/alian", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE )
public Alian Saving(@RequestBody Alian alian, @RequestParam("file") MultipartFile file)
{
repo.save(alian);
return alian;
}
邮递员的错误是错误的
{
"timestamp": "2018-08-13T19:18:47.246+0000",
"status": 415,
"error": "Unsupported Media Type",
"message": "Content type 'multipart/form-data;boundary=--------------------------175574471409780768513459;charset=UTF-8' not supported",
"path": "/alian"
}
您可以使用
多部分/表单数据
请参见确保您没有手动添加内容类型
无需手动添加内容类型标题。您正在覆盖邮递员设置的值。只需在POST请求中选择表单数据并发送您的请求,看看它是否有效。您不能将@RequestBody与MultipartFile一起发送,您甚至不需要它。只发送多部分文件
public Alian Saving(@RequestParam("file") MultipartFile file) {
Alian alian = new Alian();
alian.setPic(file.getBytes());
alian.setAname(file.getOriginalFilename());
return repo.save(alian);
}
我不是手动添加内容类型,它是自动完成的,我只是上传图像并发送