我以前从未在数据库中保存和检索图像。我写下了我猜想的过程。我想知道这是否正确:
保存图片:
- 选择&从jsp(Struts 2)上传图像文件,将其保存为.tmp文件。
- 将.tmp文件转换为byte []数组(Java Server-Side)
- 将byte []数组存储为数据库(Java服务器端)中的blob
醇>获取图片:
- 从数据库(Java服务器端)获取byte []数组
- 将byte []数组转换为图像文件(Java Server-Side)
- 在某个位置(Java服务器端)创建文件
- 使用img标签显示文件(JSP客户端)
- 完成使用后删除文件? (Java服务器端)
醇>
我知道强烈建议不要保存&从数据库中检索图像。无论如何,我想知道该怎么做。
由于
答案 0 :(得分:0)
差不多正确。
现在创建文件然后将其删除并不是很昂贵。
是的,您将其存储为数据库中的原始字节,但检索它并将其显示给客户端计算机的方法是实现一个Web处理程序,将响应的内容类型设置为适当的MIME类型和然后将字节转储到响应流。
答案 1 :(得分:0)
是的,你做得对。
保存图片:
保存图像的决定在很大程度上取决于进一步的使用。您有一个选项可以将文件保存在文件系统上。保存文件的位置应保存到数据库表中的元数据中。
获取图片:
您无需在任何临时位置找到正确的文件数据。它只能从数据库中轻松呈现。只需从客户端发送请求,并在空间设计的Servlet中拦截该请求。此Servlet将读取文件元数据和相应文件,如果成功,则将文件写回响应流。