如何上传图像并保存到数据库中,该图像应显示在用户个人资料页面上?图像可以是jpg,jpeg和png的任何类型。我正在使用JSP,jQuery和Spring MVC框架以及Java和Spring数据jpa。
我没有在我的应用程序中使用servlet。我是这个领域的新手,无法完成它。
答案 0 :(得分:0)
您需要一个VARBINARY列来包含图像。使用InputStream
打开文件,从中加载byte[]
,然后将其写入列中。
您需要另一列来保存mime文件类型。您可以使用java.nio.file.Files.probeContentType( Path path )
在您的回复标题中,您需要:
setContentLength()
设置文件的长度。setContentType()
设置mime图像类型。如果您的数据库提供了在varbinary列上创建InputStream
的方法,请使用它。否则,您需要将varbinary列的内容读入byte[]
,然后在ByteArrayInputStream
上创建byte[]
。
最后,您需要使用接受输入流的构造函数构建响应实体:return new ResponseEntity(inputStream, httpHeaders, HttpStatus.OK);