java實現從服務端下載檔案
阿新 • • 發佈:2018-12-24
這邊用一個簡單的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; importjava.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); } }