base64文件下载

柔情只为你懂 2022-05-29 10:54 247阅读 0赞

@RequestMapping(value = “download”)
public void download(String id,HttpServletRequest request,HttpServletResponse response){
OutputStream os = null;//
InputStream is = null;
ZipOutputStream zos = null;
try {
os = response.getOutputStream();
response.reset();
response.setContentType(“application/octet-stream”);
KhAttachment khAttachment = khAttachmentService.get(id);
// CreditReport report = reportService.getId(id);
if(khAttachment!=null){
String fileName = khAttachment.getName();
String file=System.getProperty(“java.io.tmpdir”)+File.separator+khAttachment.getId()+File.separator+khAttachment.getName();
boolean iscreateFile=FileUtils.createFile(file);
if(iscreateFile){
String base64DataStr=StringUtils.substringAfter(khAttachment.getContent(), “base64,”);
FileUtils.decoderBase64File(base64DataStr,file);
}
is = new FileInputStream(file);
// fileName = parseGBK(fileName);
if (request.getHeader(“User-Agent”).toUpperCase().indexOf(“MSIE”) >0){
fileName = URLEncoder.encode(fileName, “UTF-8”);//IE浏览器
}else{
fileName = new String(fileName.getBytes(“UTF-8”), “ISO8859-1”);//firefox浏览器
}
response.addHeader(“Content-Disposition”, “attachment; filename=\“”+ fileName+”\“”);
// report.setDownloadCount(report.getDownloadCount()+1);
// reportService.save(report);
// response.getWriter().print(“123123123”);
IOUtils.copy(is, os);

}
} catch (Exception e) {
e.printStackTrace();
// ResponseUtils.renderText(response,”“);

}finally{
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(os);
IOUtils.closeQuietly(zos);
}

}

1,注意,

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读

    相关 base64文件转MultipartFile文件

    在一些项目中,上传图片或者文件过大,这个时候我们就要选择压缩文件,压缩到我们指定的范围内在上传到服务器,当然压缩也是可以放到服务器进行操作的,但是考虑到前端传输时间问题,所以我