response.reset();//清空流 //根据附件id来获取附件的名字 String fileName = resService.attachmentDownload(id, response); //获取附件简历的存放地址 fileName = URLDecoder.decode(fileName, "UTF-8"); // 获取附件存放路径 String Path = resProperties.getPath() + fileName; File file = new File(Path); if (file.exists()) { //读取文件流 response.setContentType("multipart/form-data"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment; filename=" + new String( fileName.getBytes("utf-8"), "ISO8859-1" ) ); OutputStream os = null; FileInputStream fis = null; try { os = response.getOutputStream(); fis = new FileInputStream(attachmentPath); byte[] b = new byte[1024]; int c = 0; while ((c = fis.read(b)) > 0) { os.write(b, 0, c); } os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (null != fis) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != os) { try { os.close(); } catch (IOException e) { e.printStackTrace(); } } } }
下载附件的时候中文名字和特殊字符的处理
最新推荐文章于 2023-05-16 14:11:49 发布