springboot---web----下载文件

    科技2022-07-10  133

    代码

    只需要改 1 this.getClass().getResourceAsStream("/templates/wxa32c397d9ee915f5.o6zAJswmDBS6GqsSGCDsKTOTteFk.NBWTAYou9QRQ928148cc0de489844264c42287869f44.png"); 2 response.setHeader(“Content-Disposition”, “attachment;filename=”+ new String((“wxa32c397d9ee915f5.o6zAJswmDBS6GqsSGCDsKTOTteFk.NBWTAYou9QRQ928148cc0de489844264c42287869f44” + “.png”).getBytes(“gbk”), “iso-8859-1”));//下载文件的名称 文件要放在templates文件夹

    package com.example.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.*; @Controller public class hellocontroller { @ResponseBody @RequestMapping(value = "/downloadFile") public void downloadFile(HttpServletResponse response) throws IOException { InputStream f= this.getClass().getResourceAsStream("/templates/wxa32c397d9ee915f5.o6zAJswmDBS6GqsSGCDsKTOTteFk.NBWTAYou9QRQ928148cc0de489844264c42287869f44.png"); response.reset(); response.setContentType("application/x-msdownload;charset=utf-8"); try { response.setHeader("Content-Disposition", "attachment;filename="+ new String(("wxa32c397d9ee915f5.o6zAJswmDBS6GqsSGCDsKTOTteFk.NBWTAYou9QRQ928148cc0de489844264c42287869f44" + ".png").getBytes("gbk"), "iso-8859-1"));//下载文件的名称 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } ServletOutputStream sout = response.getOutputStream(); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(f); bos = new BufferedOutputStream(sout); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } bos.flush(); bos.close(); bis.close(); } catch (final IOException e) { throw e; } finally { if (bis != null){ bis.close(); } if (bos != null){ bos.close(); } } } }
    在浏览器访问

    http://localhost:8080/downloadFile

    Processed: 0.011, SQL: 8