java实现从服务端下载文件

这边用一个简单的servlet实现java从服务端下载文件的操作

 

 写一个servlet:

  <servlet>
    <servlet-name>DownloadServlet</servlet-name>
    <servlet-class>DownloadServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>DownloadServlet</servlet-name>
    <url-pattern>/download</url-pattern>
  </servlet-mapping>

 

java代码:

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;

public class DownloadServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String filePath = "D:\\360MoveData\\Users\\123\\Desktop\\WebComponents.exe";
        String fileName = "WebComponents.exe";
        String fileType = "application/octet-stream";

        //设置文件的类型
        response.setContentType(fileType);
        // 确保弹出下载对话框
        response.setHeader("Content-disposition", "attachment; filename=" + fileName);
        FileInputStream inputStream = new FileInputStream(filePath);
        //输出流
        OutputStream outputStream = response.getOutputStream();
        byte[] bytes = new byte[4096];
        int length;
        while ((length = inputStream.read(bytes)) > 0){
            outputStream.write(bytes, 0, length);
        }
        inputStream.close();
        outputStream.flush();
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
        doGet(request, response);
    }
}

 

posted @ 2018-12-23 23:29  护花使者  Views(3139)  Comments(0Edit  收藏  举报