java通过HttpServletResponse下载文件到客户端

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;

public class DownFile {
    /**
     *  filename 下载到客户端后的文件名称
     *   filepath 文件的路径 绝对路径和相对路径都可以
     *下载 文件
     */
    public static void downZip(String filename,String filepath,HttpServletResponse response) {


        FileInputStream inStream=null;
        try {
            File zip=new File(filepath);// 文件
            inStream=new FileInputStream(zip);
            byte[] buf=new byte[4096];
            int readLength;
            setResponseHeader(response, filename);
            while (((readLength=inStream.read(buf)) != -1)) {
                response.getOutputStream().write(buf, 0, readLength);
            }
        }catch (Exception e){
            try {
                OutputStream outputStream=response.getOutputStream();//获取OutputStream输出流
                response.setHeader("c
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中,可以使用 Servlet 来实现文件上传到客户端,具体步骤如下: 1. 创建一个 HTML 表单,用于上传文件。表单中可以包含一个文件选择框和一个提交按钮。 ``` <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload"> </form> ``` 2. 创建一个 Servlet 类,在其中处理文件上传请求。在 Servlet 中,需要使用 `HttpServletRequest` 对象获取上传的文件,然后将文件写入到 `HttpServletResponse` 对象中,以便客户端可以下载文件。 ``` @WebServlet("/upload") @MultipartConfig public class FileUploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Part filePart = request.getPart("file"); InputStream inputStream = filePart.getInputStream(); OutputStream outputStream = response.getOutputStream(); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=\"" + filePart.getSubmittedFileName() + "\""); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.flush(); outputStream.close(); inputStream.close(); } } ``` 上述代码中,`@MultipartConfig` 注解用于指示该 Servlet 接受多部分请求(即包含文件上传)。 3. 部署应用程序并启动 Web 服务器。 当用户在浏览器中打开上传文件的 HTML 表单并选择要上传的文件后,客户端会将文件上传到 Web 服务器。Web 服务器会将请求发送到 FileUploadServlet,该 Servlet 会将文件写入到 `HttpServletResponse` 中并发送回客户端客户端就可以下载文件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值