java实现文件在线预览
生活随笔
收集整理的這篇文章主要介紹了
java实现文件在线预览
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
@RequestMapping("/preview1")
public void er(HttpServletResponse response){File file = new File("G:\\桌面\\Thymeleaf3.0中文翻譯文檔@www.java1234.com.pdf");if (file.exists()){byte[] data = null;try {FileInputStream input = new FileInputStream(file);data = new byte[input.available()];input.read(data);response.getOutputStream().write(data);input.close();} catch (Exception e) {System.out.println(e);}}else{return;}
}
@ResponseBody
@RequestMapping("/preview2")
public void findPdf( HttpServletResponse response) throws IOException{response.setContentType("application/pdf");FileInputStream in = new FileInputStream(new File("G:\\桌面\\Thymeleaf3.0中文翻譯文檔@www.java1234.com.pdf"));OutputStream out = response.getOutputStream();byte[] b = new byte[512];while ((in.read(b))!=-1) {out.write(b);}out.flush();in.close();out.close();
}
@ResponseBody
@RequestMapping("/preview3")
public void devDoc(HttpServletRequest request, HttpServletResponse response, String storeName) throws Exception {request.setCharacterEncoding("UTF-8");String ctxPath = request.getSession().getServletContext().getRealPath("");String downLoadPath = "G:\\桌面\\Thymeleaf3.0中文翻譯文檔@www.java1234.com.pdf";response.setContentType("application/pdf");FileInputStream in = new FileInputStream(new File(downLoadPath));OutputStream out = response.getOutputStream();byte[] b = new byte[1024];while ((in.read(b))!=-1) {out.write(b);}out.flush();in.close();out.close();
}
@ResponseBody
@RequestMapping("/preview")
public void download( HttpServletResponse response) throws IOException {String filePath = "G:\\桌面\\Thymeleaf3.0中文翻譯文檔@www.java1234.com.pdf";System.out.println("filePath:" + filePath);File f = new File(filePath);if (!f.exists()) {response.sendError(404, "File not found!");return;}BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));byte[] bs = new byte[1024];int len = 0;response.reset(); // 非常重要if (true) { // 在線打開(kāi)方式URL u = new URL("file:///" + filePath);String contentType = u.openConnection().getContentType();response.setContentType(contentType);response.setHeader("Content-Disposition", "inline;filename="+ "2019年上半年英語(yǔ)四級(jí)筆試準(zhǔn)考證(戴林峰).pdf");// 文件名應(yīng)該編碼成utf-8,注意:使用時(shí),我們可忽略這句} else {// 純下載方式response.setContentType("application/x-msdownload");response.setHeader("Content-Disposition", "attachment;filename="+ "2019年上半年英語(yǔ)四級(jí)筆試準(zhǔn)考證(戴林峰).pdf");}OutputStream out = response.getOutputStream();while ((len = br.read(bs)) > 0) {out.write(bs, 0, len);}out.flush();out.close();br.close();
}
總結(jié)
以上是生活随笔為你收集整理的java实现文件在线预览的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab builder for j
- 下一篇: DOSBox安装及使用教程