如何上传图片并保存到数据库中?

时间:2017-07-15 18:54:09

标签: java spring

如何上传图像并保存到数据库中,该图像应显示在用户个人资料页面上?图像可以是jpg,jpeg和png的任何类型。我正在使用JSP,jQuery和Spring MVC框架以及Java和Spring数据jpa。

我没有在我的应用程序中使用servlet。我是这个领域的新手,无法完成它。

1 个答案:

答案 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);