一个Java在线预览和下载的例子
2017-07-13 15:00
411 查看
前一段是有一个在线预览的一个需求,本来打算用swf插件,但是由于公司不让用office产品,只能使用其他办法来实现在线预览,我整理了一个小例子,在这里跟大家分享一下。
第一次写微博有的地方表达的不清楚,请大家见谅哈
(以下是代码)注:前提是浏览器必须有在线预览器的应用,少些ie没有
package com.controller;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class readAndDownload {
@RequestMapping("readAndDownload.do")
public void readAndDownload(HttpServletResponse res, String params) throws Exception{
InputStream in = null;
OutputStream out = null;
String filePaths = "C:\\Users\\山沟里的程序猿\\Desktop\\pythonwss.pdf";
if(filePaths !=null){
in = new FileInputStream(filePaths);
// 设置响应头
// 设置应用参数
// 第二步:设置响应的类型
if ("dwld".equalsIgnoreCase(params)) {
res.setContentType("application/force-download");
res.setContentLength(in.available());
} else {
res.setContentType("application/pdf");
}
// 第三步:开始文件copy
out = res.getOutputStream();
byte[] b = new byte[1024];
int len = 0;
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
}
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
}
}
(效果图)---------------------
![](https://img-blog.csdn.net/20170713151251945)
第一次写微博有的地方表达的不清楚,请大家见谅哈
(以下是代码)注:前提是浏览器必须有在线预览器的应用,少些ie没有
package com.controller;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class readAndDownload {
@RequestMapping("readAndDownload.do")
public void readAndDownload(HttpServletResponse res, String params) throws Exception{
InputStream in = null;
OutputStream out = null;
String filePaths = "C:\\Users\\山沟里的程序猿\\Desktop\\pythonwss.pdf";
if(filePaths !=null){
in = new FileInputStream(filePaths);
// 设置响应头
// 设置应用参数
// 第二步:设置响应的类型
if ("dwld".equalsIgnoreCase(params)) {
res.setContentType("application/force-download");
res.setContentLength(in.available());
} else {
res.setContentType("application/pdf");
}
// 第三步:开始文件copy
out = res.getOutputStream();
byte[] b = new byte[1024];
int len = 0;
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
}
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
}
}
(效果图)---------------------
相关文章推荐
- java原装代码完成pdf在线预览和pdf打印及下载
- 一个java 下载FTP( Linux)服务器文件夹的例子
- 一个java 下载FTP( Linux)服务器文件夹的例子
- 【转载】Coolite一个简单例子-GridPanel列表增删改预览及在线编辑器
- java原装代码完成pdf在线预览和pdf打印及下载
- java原装代码完成pdf在线预览和pdf打印及下载
- 使用JSP + JAVABEAN + XML 开发的一个例子
- 一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码的例子
- 使用JSP + JAVABEAN + XML 开发的一个例子
- 一个体现Java接口及工厂模式优点的例子
- 反编译:java代码中含有同步和异常的反编译前后代码对照的一个例子(xiongjy)
- 用java接收lotus邮件一个完整例子
- 一个java资料下载的好站
- CORBA Programming with TAO - 7.IIOP(体验IIOP--一个Java作客户端的例子)
- CORBA Programming with TAO - 7.IIOP(体验IIOP--一个Java作客户端的例子)
- 一个基于RSA算法的Java数字签名例子
- JAVA中String.split的一个小例子
- 多线程(6): Java Threads例子的一个问题
- Java JDBC连接的一个例子
- 使用JSP + JAVABEAN + XML 开发的一个例子