天天看点

rpc 实现文件下载 Java Spring Boot

@RequestMapping("/file")
@ResponseBody
public void file(HttpServletRequest request, HttpServletResponse response) {
    String name = request.getParameter("file");
    String path = "/file" + File.separator + name;
 
    File imageFile = new File(path);
    if (!imageFile.exists()) {
        return;
    }
 
    //下载的文件携带这个名称
    response.setHeader("Content-Disposition", "attachment;filename=" + name);
    //文件下载类型--二进制文件
    response.setContentType("application/octet-stream");
 
    try {
        FileInputStream fis = new FileInputStream(path);
        byte[] content = new byte[fis.available()];
        fis.read(content);
        fis.close();
 
        ServletOutputStream sos = response.getOutputStream();
        sos.write(content);
 
        sos.flush();
        sos.close();
    } catch (Exception e) {
        e.printStackTrace();
    }      

继续阅读