在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上?
发布网友
发布时间:2022-04-15 07:37
我来回答
共2个回答
懂视网
时间:2022-04-15 11:59
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<%@page import="java.net.*"%>
<%
String filename = "";
if (request.getParameter("file") != null) {
filename = request.getParameter("file");
}
response.setContentType("application/msword");
response.setHeader("Content-disposition","attachment; filename="+filename);
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(getServletContext().getRealPath("" + filename)));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff,0,bytesRead);
}
} catch(final IOException e) {
System.out.println ( "出现IOException." + e );
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
return;
热心网友
时间:2022-04-15 09:07
现在有两种方式实现①Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter)=>SWF(pdf2swf)=>FlexPaper浏览,
优点:用户上传成功之后可以马上浏览上传的文件;
缺点:只能处理小文件(1M左右),大的文件无法将pdf转化为swf
②用户上传之后,由单独的程序使用FlashPaper解析用户上传的文件,解析完毕之后用户可以查看,
优点:可以解析比较大的文件
缺点:FlashPaper在解析某些文件时,会弹出一个无法加载的对话框,需要人工点击之后程序才能继续进行解析
别处看到的,你可以试下