@Controller
@RequestMapping("/down")
public class DownPdfController {
private static Logger log = LoggerFactory.getLogger(DownPdfController.class);
@Resource
private CpConvertLocalPdfService cpConvertLocalPdfService;
@RequestMapping("/bathchDownloadPDF")
public void bathchDownloadPDF(List<String> studentIds,HttpServletResponse response) throws UnsupportedEncodingException {
response.setHeader("Content-disposition", "attachment;filename="+new String("毕业报告.zip".getBytes("gb2312"),"ISO8859-1"));
/**
从nameAndPathVos中获取文件地址和文件名
*/
//各个文件压缩包临时存放路径集合
for (NameAndPathVo nameAndPathVo : nameAndPathVos) {
String resultOriginFile = nameAndPathVo.getPath();
if (StringUtils.isEmpty(resultOriginFile)) {
continue;
}
//最终zip文件
try (ZipOutputStream zipOut=new ZipOutputStream(response.getOutputStream())){
// 循环调用压缩文件方法,将一个一个需要下载的文件打入压缩文件包
InputStream inputStream = new FileInputStream(resultOriginFile);
byte[] bytes = IOUtils.toByteArray(inputStream);
zipOut.putNextEntry(new ZipEntry(nameAndPathVo.getStudentName()+".pdf"));
zipOut.write(bytes);
} catch (Exception e) {
log.error("文件下载失败!");
}
}
}
}
文件下载并打成压缩包
最新推荐文章于 2023-04-22 13:50:25 发布