java实现文件上传、下载、图片预览

 更新时间:2020年01月03日 11:21:32   作者:_Lawrence  
这篇文章主要介绍了java实现文件上传、下载、图片预览,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了java实现文件上传、下载、图片预览,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

多文件保存到本地:

@ResponseBody
  @RequestMapping(value = "/uploadApp",produces = { "application/json;charset=UTF-8" },method= RequestMethod.POST)
  public String uploadApp( HttpServletRequest request,@RequestParam("file") MultipartFile[] file) throws IOException {
    try {
      if(file.length > 0) {
        String name = file[0].getOriginalFilename().split(";")[0];
        String fileUrlName = CommonEnum.FILEPATH+"/"+name;
        for (int i = 0; i < file.length; i++) {
          FileUtils.copyInputStreamToFile(file[i].getInputStream(), new File(fileUrlName, file[i].getOriginalFilename().split(";")[1]));
        }
        return "success";
      }else{
        return "null";
      }
    }catch (Exception e){
      e.printStackTrace();
      return "error";
    }
  }

下载文件:

  @RequestMapping(value = "/download", method = RequestMethod.GET)
  @ResponseBody
  public void download(@RequestParam Map<String, Object> data, HttpServletRequest request,HttpServletResponse response) throws FileNotFoundException {
    String time = DateUtil.formatFromDate("yyyyMMddHHmmss", new Date());
    List<Map<String, Object>> urllist = companyService.findByIMG(data);
    String path = (String) urllist.get(0).get("imgurl");
    String docx = StringUtils.substringAfterLast(path, ".");
    String fileName = time+"."+docx; // 文件的默认保存名
    InputStream inStream = new FileInputStream(path);// 文件的存放路径
    response.reset();
    response.setContentType("bin");
    response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
    byte[] b = new byte[100];
    int len;
    try {
      while ((len = inStream.read(b)) > 0)
        response.getOutputStream().write(b, 0, len);
      inStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }

  }

 

  /**
   * 读取图片
   */
  @RequestMapping(value = "/iomoreimgcom", produces = {
      "application/json;charset=UTF-8" }, method = RequestMethod.GET)
  @ResponseBody
  public synchronized void iomoreimgcom(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String url = request.getParameter("url");
    File file = new File(url);
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
    BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
    response.setHeader("Content-Type", "image/jpeg");
    byte b[] = new byte[1024];
    int read;
    try {
      while ((read = bis.read(b)) != -1) {
        bos.write(b, 0, read);
      }
      //request.getRequestDispatcher("/components/hazard/yscchird.html").forward(request, response);
    } catch (Exception e) {
      // TODO: handle exception
    } finally {
      if (bos != null) {
        bos.close();
      }
      if (bis != null) {
        bis.close();
      }
    }
  }

前端请求直接拼接图片路径即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Security OAuth Client配置加载源码解析

    Spring Security OAuth Client配置加载源码解析

    这篇文章主要为大家介绍了Spring Security OAuth Client配置加载源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Java JDK1.7对字符串的BASE64编码解码方法

    Java JDK1.7对字符串的BASE64编码解码方法

    今天小编就为大家分享一篇Java JDK1.7对字符串的BASE64编码解码方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 浅谈Springboot之于Spring的优势

    浅谈Springboot之于Spring的优势

    这篇文章主要介绍了浅谈Springboot之于Spring的优势,简述了在Java EE开发中遇到的问题,言简意赅,需要的朋友可以参考下。
    2017-09-09
  • 浅谈Java springboot日志管理

    浅谈Java springboot日志管理

    这篇文章主要介绍了浅谈Java springboot日志管理,文中有非常详细的代码示例,对正在学习Java的小伙伴们有很好的帮助哟,需要的朋友可以参考下
    2021-05-05
  • 浅谈JVM垃圾回收有哪些常用算法

    浅谈JVM垃圾回收有哪些常用算法

    今天给大家带来的是关于Java虚拟机的相关知识,文章围绕着JVM垃圾回收有哪些常用算法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java线程间通信不同步问题原理与模拟实例

    Java线程间通信不同步问题原理与模拟实例

    这篇文章主要介绍了Java线程间通信不同步问题,结合实例形式分析了java线程间通信不同步问题的原理并模拟实现了线程间通信不同步情况下的异常输出,需要的朋友可以参考下
    2019-10-10
  • Java实现二分查找算法实例分析

    Java实现二分查找算法实例分析

    这篇文章主要介绍了Java实现二分查找算法,实例分析了二分查找算法的原理与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 一文详细讲解Java时间格式转换

    一文详细讲解Java时间格式转换

    这篇文章主要介绍了Java时间格式转换的相关资料,文中详细介绍了SimpleDateFormat(适用于Java8之前)和java.time(适用于Java8及之后)的用法,需要的朋友可以参考下
    2024-12-12
  • java将html转成图片代码实例(html2image)

    java将html转成图片代码实例(html2image)

    这篇文章主要介绍了java将html转成图片的相关资料,在Java开发中,将HTML转换为图片可以使用html2image库,文中通过代码及图文介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • Java高效调试排查代码技巧详解

    Java高效调试排查代码技巧详解

    这篇文章主要介绍了Java高效调试排查代码技巧,调试是一项不可或缺的技能,无论你是经验丰富的开发者,还是初入编程世界的新手,都难免会遇到代码出错的情况,有效的调试能帮助我们快速定位并解决问题,提高开发效率,需要的朋友可以参考下
    2025-04-04

最新评论