通过流方式导出文件,防止文件名中文乱码
2014-01-02 14:53
429 查看
public void exportImei(Long orderId,Integer imeiType,Long itemId,HttpServletRequest request,HttpServletResponse response) throws IOException{ HttpSession session = request.getSession(); List<ItemIMEI> itemImeis = iUserTradeSvc.queryDeliveryItemIMEI(orderId, imeiType, session); List<String> imeis = new ArrayList<String>(); String name = new String(); for(ItemIMEI itemImei : itemImeis){ if(itemId.equals(itemImei.getItemId())){ imeis = itemImei.getItemIMEI(); name = itemImei.getItemName()+".txt"; } } BufferedOutputStream bos = null; try { response.setContentType("application/txt"); String agent = request.getHeader("USER-AGENT");//用户代理 // 防止中文文件名乱码 if (null != agent && -1 != agent.indexOf("MSIE")) { String codedfilename = URLEncoder.encode(name, "UTF-8").replaceAll("+", "%20"); response.setHeader("Content-Disposition", "attachment;filename=" + codedfilename); } else if (null != agent && -1 != agent.indexOf("Mozilla")) { String codedfilename = MimeUtility.encodeText(name, "UTF-8", "B"); response.setHeader("Content-Disposition", "attachment;filename=" + codedfilename); } else { response.setHeader("Content-Disposition", "attachment;filename=" + name); } bos = new BufferedOutputStream(response.getOutputStream()); for(String imei : imeis){ bos.write(imei.getBytes()); bos.write("\r\n".getBytes()); } } catch (IOException e) { returnText(response, "导出IMEI失败!"); } finally { if (bos != null) bos.close(); } }
相关文章推荐
- java上传文件到linux上 防止文件名中文乱码
- 现象:起中文的文件名是乱码,通过程序往一个文件中写入中文是乱码。
- 解决字串乱码的问题,(例子,导出文件时,中文文件名乱码)
- C#导出csv文件 防止中文乱码的解决方案
- asp.net 下载文件 防止中文文件名出现乱码
- java freemarker 通过ftl模板文件导出word文件发现在有中文地方出现在乱码,打开word文件提示xml错误解决办法
- C#导出csv文件 防止中文乱码的解决方案
- C#导出csv文件 防止中文乱码的解决方案
- java导出文件时中文文件名乱码问题
- POI 方式导出文件,浏览器(适用Edge浏览器)文件名乱码解决
- C#下载文件时防止文件名出现中文乱码
- Java Web项目导出excel表,地址栏中文正常,但是文件下载报404中文文件名乱码
- java导出文件文件名中文乱码
- python解决导出excel文件时中文文件名乱码
- android通过Http请求上传文件时文件名中文乱码
- spring boot读取resource下的文件,支持jar方式启动,防止中文乱码
- 通过url方式传递中文乱码解决办法
- Struts2文件下载文件名中文出现乱码解决办法
- java zip压缩文件中文文件名乱码
- 关于c#导出的文本或者cvs文件在excel中中文乱码的分析及解决方案