龙空技术网

使用javaweb实现图片的下载

滴滴滴程序员 70

前言:

现在朋友们对“java下载图片保存到指定目录下”大致比较注意,我们都想要剖析一些“java下载图片保存到指定目录下”的相关资讯。那么小编在网摘上网罗了一些对于“java下载图片保存到指定目录下””的相关文章,希望各位老铁们能喜欢,姐妹们快快来学习一下吧!

讲一下使用javaweb实现图片的下载

我们要下载图片首先是因为服务器里面有这张图片,我们是去请求服务器下载图片的

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><a href="/Project3/img/1.jpg">图片</a><hr><a href="/Project3/DownloadServlet?filename=1.jpg">图片</a></body></html>
package cn.itcast.web.download;import java.io.FileInputStream;import java.io.IOException;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class DownloadServlet */@WebServlet("/DownloadServlet")public class DownloadServlet extends HttpServlet {	private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public DownloadServlet() {        super();        // TODO Auto-generated constructor stub    }	/**	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)	 */	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		//1.获取请求参数,文件名称		String filename = request.getParameter("filename");		//2.使用字节输入流加载文件进内存		//2.1找到文件服务器路径		ServletContext servletContext = this.getServletContext();		String realPath = servletContext.getRealPath("/img/"+filename);		//2.2用字节流关联		FileInputStream fis=new FileInputStream(realPath);//将图片读进内存		//3.设置response的响应头		//3.1设置响应头类型:content-type		String mimeType = servletContext.getMimeType(filename);//获取文件的mime类型		response.setHeader("content-type", mimeType);		//3.2设置响应头的打开方式		response.setHeader("content-disposition", "attachment;filename="+filename);		//4.将输入流的数据写出到输出流中		ServletOutputStream sos = response.getOutputStream();	        byte[] buff = new byte[1024 * 8];	        int len = 0;	        while((len = fis.read(buff)) != -1){	            sos.write(buff,0,len);	        }	        fis.close();	}	/**	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)	 */	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		// TODO Auto-generated method stub		doGet(request, response);	}}

视频加载中...

标签: #java下载图片保存到指定目录下 #java 下载图片