-
下载pdf文档报错,内容转码失败5
java实现下载pdf文档报错,内容转码
失败。
代码如下:
public void downLoad(String filePath, HttpServletResponse response) throws Exception {
File f = new File(filePath);
if (!f.exists()) {
response.sendError(404, "File not found!");
return;
}
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] buf = new byte[1024];
int len = 0;
response.reset(); // 非常重要
// 纯下载方式
String fileName = f.getName();
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
OutputStream out = response.getOutputStream();
while ((len = br.read(buf)) > 0)
out.write(buf, 0, len);
br.close();
out.close();
}2012年7月03日 09:31
1个答案 按时间排序 按投票排序
-
采纳的答案
public void downloadLocal(HttpServletRequest request,HttpServletResponse response, String fileName, String pathAndFileName) throws FileNotFoundException { InputStream inStream = new FileInputStream(pathAndFileName); response.reset(); ServletUtil.setFileDownloadHeader(request, response, fileName); byte[] b = new byte[100]; int len; try { while ((len = inStream.read(b)) > 0) response.getOutputStream().write(b, 0, len); } catch (IOException e) { }finally{ try { inStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void setFileDownloadHeader(HttpServletRequest request,HttpServletResponse response, String fileName) { String encodedfileName; try { //中文文件名支持 if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){ encodedfileName = URLEncoder.encode(fileName, "UTF-8"); }else if(request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0||request.getHeader("User-Agent").toLowerCase().indexOf("opera") > 0){ encodedfileName = new String(fileName.getBytes(), "ISO8859-1"); }else{ encodedfileName = URLEncoder.encode(fileName, "UTF-8"); } response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedfileName + "\""); } catch (UnsupportedEncodingException e) { } }
下载方法。不限制你的任何文件2012年7月03日 09:55
相关推荐
OFFICE完美转换成PDF文档
pdf2SWF 中文转码 xpdf-chinese-simplified 内含 gbsn00lp.ttf 和gkai00mp.ttf
彻底解决android读取中文txt的乱码(自动判断文档类型并转码).doc
公司内部多数使用PDF做观看使用,想改动也不行,有了这款软件、一切搞定
将PDF图档轻松转换为CAD编辑文件.可作为使用CAD图纸设计,方便轻松提高工作效率
根据文件名批量生成同名文档,包括html/asp/php/txt,生成的文档内包含该文件名,此功能可用于手工生成静态html页面,和大批量网页生成。可实现gb2312和utf-8码率的互换,支持文件夹批量转换。
彻底解决android读取中文txt的乱码(自动判断文档类型并转码)
office 转码pdf jar包,包含word,ppt,excel,visio等格式转换jar
转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具转码工具
音视频转码-Java-SDK文档-百度开放云.pdf
文件程序见 OfficeToPdf.pdfToHtmlList("文件路径") 预览路径见/view/pic
首先我们要了解文档最基本的信息和设置: 4 计量单位:缇(twips) 4 字体设置 4 文档属性设置 4 新建文档 5 添加页面 5 页面样式 5 页面样式属性 6 文本 7 添加文本 7 添加文本资源 7 文本样式 8 样式属性列表 9 ...
pdfShowWebView = (WebView) findViewById(R.id.pdf_show_webview); pdfShowWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {...
更多信息,您可以转换不同的Office文档格式,网页,图片。它可以支持全面的格式:Word(doc, docm, docx), Excel(xls .xlsx. xlsm),PowerPoint(ppt, pptc, pptm),PDF,XLS,RTF,TXT,HTM/HTML,Website,JPG,BMP,GIF,TIF,...
EBCDID公共转码器及转码模拟器的实现(软件工程课程设计).pdf
内有安装操作步骤及编码内容。亲测有效。 场景运用:在前端图片格式上传中,需要在后端对pdf格式图片进行转换为常用图片格式PNG,JPEG处理。通过网上资料查询及检验。在wiondows操作系统java开发环境中可通过...
H264视频转码
是一款高效快速转换摄像机视频格式MTS的一款转码器。
媒体云转码的演进:MapReduce、DASH 与稳定婚姻.pdf
优酷客户端下载1080P文件不在支持转码,1080P kux文件可官方编码转换Mp4文件