今天看到个贴,问关于application/pdf的问题,感觉挺有意思的,顺便自己尝试了下
下面给出具体代码
在工程的web.xml中添加mime信息(读者可自行尝试更换成其他格式,比如word)
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
在servlet中读取pdf文件并输出给浏览器显示,不过这种方式应该很吃内存吧,一个大文件全部读过来显示的话
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("application/pdf;charset=utf-8");
OutputStream out = response.getOutputStream();//响应输出流
FileInputStream inputStream = new FileInputStream("D:/a.pdf");//文件读取流
FileChannel channel = inputStream.getChannel();//文件通道
WritableByteChannel channel_out = Channels.newChannel(out);//响应输出通道
channel.transferTo(0,channel.size(),channel_out);//将文件通道转给响应通道进行输出
out.flush();
out.close();
}
最后显示效果图