Java 实现文件下载
Java 实现文件下载
public void downloadArticle(String folderPath, String articleName, HttpServletResponse response) { FileInputStream inputStream = null; OutputStream out = null; try { response.reset(); response.setContentType("application/force-download"); // 支持中文名称文件,需要对header进行单独设置,不然下载的文件名会出现乱码或者无法显示的情况 // 设置响应头,控制浏览器下载该文件 response.setHeader("Content-Disposition", "attachment;filename=" + UUIDUtils.getUUID() +".pdf"); //通过文件路径获得File对象 File file = new File(filePath + folderPath+"/"+articleName+".pdf"); inputStream = new FileInputStream(file); //通过response获取ServletOutputStream对象(out) out = response.getOutputStream(); int length = 0; byte[] buffer = new byte[1024]; while ((length = inputStream.read(buffer)) != -1) { //4.写到输出流(out)中 out.write(buffer, 0, length); } inputStream.close(); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } }