图片在线预览的简单实现

爱被打了一巴掌 2022-12-05 12:13 430阅读 0赞

在项目中有上传图片的需求,把图片上传到服务器上,然后把图片在服务器上的路径存储到数据库的路径字段中

功能需求:图片在线预览

思路:拿到图片的路径,得到该图片的输入流FileInputStream,然后通过Response得到Response的输出流OutputStream,最后把输入流写入到Response的输出流中,浏览器访问该接口即可实现图片在线预览!

  1. //图片预览
  2. @RequestMapping("/showImage")
  3. @ResponseBody
  4. public void showImage(String path, HttpServletRequest request, HttpServletResponse response) throws Exception{
  5. response.setContentType("image/jpg");
  6. FileInputStream fs=new FileInputStream(new File("D:\\工作\\表单电子化\\1.jpg"));
  7. OutputStream os=response.getOutputStream();
  8. int lenth;
  9. byte[] bytes=new byte[1024];
  10. while((lenth=fs.read(bytes))>0){
  11. os.write(bytes,0,lenth);
  12. }
  13. fs.close();
  14. os.close();
  15. }

response.setContentType(“image/jpg”); 是指定图片格式,可以通过传过来的path(包括文件后缀名)得到后缀,然后动态的指定图片格式,就可以了。

new File(D:\工作\表单电子化\1.jpg”) 这是写死的路径,到时候替换成传过来的path路径(服务器上的图片路径并且包括文件名和后缀名)即可。

效果

20200910114020689.png

发表评论

表情:
评论列表 (有 0 条评论,430人围观)

还没有评论,来说两句吧...

相关阅读

    相关 图片在线功能实现过程

    另外一个同事开发出来一个鼠标移动上去就显示图片的功能,但是总是不好用,所以我就是用jquery按照他的思路写了一个,简单的显示是实现了的,但是在弹出框的内部计算边框范围是有难度