Servlet实现下载图片到本地

简介: Servlet实现下载图片到本地

1、代码

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
public class DownloadFileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.下载路径
        String filePath = "D:\\Desktop\\工具箱\\图片素材\\imm.png";
        System.out.println("下载路径 = " + filePath);
        //获取文件名
        String fileName = filePath.substring(filePath.lastIndexOf("\\") + 1);
        resp.setHeader("Content-Disposition","attachment;filename="+fileName);
        //获取下载文件的输入流
        FileInputStream in = new FileInputStream(filePath);
        //创建缓冲区域
        int len = 0;
        byte[] buffer = new byte[1024];
        //获取输出流
        ServletOutputStream out = resp.getOutputStream();
        while ((len=in.read(buffer)) > 0){
            out.write(buffer,0,len);
        }
        in.close();
        out.close();
    }
}

2、注册到 web.xml

    <servlet>
        <servlet-name>DownloadFileServlet</servlet-name>
        <servlet-class>com.xxx.servlet.DownloadFileServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DownloadFileServlet</servlet-name>
        <url-pattern>/download</url-pattern>
    </servlet-mapping>

3、访问  http://localhost:8080/工程名/download

相关文章
|
7月前
|
Java
java通过commons-fileupload实现多张图片的上传(servlet)
java通过commons-fileupload实现多张图片的上传(servlet)
|
7月前
使用Servlet上传多张图片——Servlet层(ProductServlet.java)
使用Servlet上传多张图片——Servlet层(ProductServlet.java)
|
7月前
使用Servlet上传多张图片——前台页面层(Index.jsp)
使用Servlet上传多张图片——前台页面层(Index.jsp)
|
7月前
|
SQL Java 应用服务中间件
使用Servlet上传多张图片——访问提示
使用Servlet上传多张图片——访问提示
|
前端开发 应用服务中间件 C++
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。(二)
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。(二)
|
7月前
|
缓存 前端开发 Java
15:Servlet 3.0文件上传与下载-Java Web
15:Servlet 3.0文件上传与下载-Java Web
197 5
|
JSON 前端开发 JavaScript
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。(一)
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。
|
7月前
使用Servlet上传多张图片——Service层(ProductInfoService.java和ProductInfoServiceImpl)
使用Servlet上传多张图片——Service层(ProductInfoService.java和ProductInfoServiceImpl)
|
7月前
使用Servlet上传多张图片——Dao层(ProductInfoDao.java)
使用Servlet上传多张图片——Dao层(ProductInfoDao.java)
|
7月前
使用Servlet上传多张图片——Dao层(BaseDao.java)
使用Servlet上传多张图片——Dao层(BaseDao.java)