下面是在Servlet程序中利用response对象实现文件下载。
方法/步骤
1
首先我们来创建一个见名知意的Servlet类,就叫DownloadServlet吧,让它继承并重写doGet和doPost这两个重要的方法。
2
接下来我们就要在WEB-INF下的web.xml文件中来配置DownloadServlet的相关信息。
3
在DownloadServlet的doGet方法中,我们利用ServletContext域对象的getRealPath()获取文件的绝对磁盘路径。
4
然后我们利用的得到String类型文件磁盘路径来创建一个输入流。再用response调用getOutputStream得到一个输出流。
5
创建一个字节数组用于完成输入流到输出流的拷贝输出。然后关闭输入流。
6
然后我们来启动服务器,这时是可以访问到图片资源的,在图片可以点击右键 ,另存为。这样也是可以实现下载的,这种方式相当于超链接,没有跳出下载窗口。
7
想要让它跳出下载窗口, 我们可以通过设置头信息来完成这个功能。resp.setHeader('Content-Disposition', 'attachment;filename=yasuo.jpg');以附件的形式下载。这样它就会跳出如下的下载弹窗,我们点击确定就可以下载了。