Rumah >Java >javaTutorial >Bagaimana untuk Melaksanakan Servlet Muat Turun Fail di Java?
Melaksanakan Servlet Muat Turun Fail
Melaksanakan servlet muat turun fail membolehkan pengguna mendapatkan semula fail daripada aplikasi web.
Cara Melaksanakan Muat Turun Fail:
Untuk mendayakan muat turun fail, kita boleh mencipta servlet yang berfungsi sebagai titik akhir muat turun dan memetakannya ke URL tertentu dalam web.xml.
Contoh Servlet:
DownloadServlet.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Get the file ID from the request String id = request.getParameter("id"); // Fetch file metadata from the database String fileName = ""; String fileType = ""; // Set the response content type based on file type response.setContentType(fileType); // Set the content disposition header to prompt download response.setHeader("Content-disposition", "attachment; filename=yourcustomfilename.pdf"); // Create a File object using the file path File file = new File(fileName); // Stream the file to the client InputStream in = new FileInputStream(file); OutputStream out = response.getOutputStream(); // Copy file content in chunks byte[] buffer = new byte[4096]; int length = 0; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } in.close(); out.flush(); } }
Dalam kaedah doGet servlet, kami:
Pemetaan dalam web.xml:
<servlet> <servlet-name>DownloadServlet</servlet-name> <servlet-class>com.myapp.servlet.DownloadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DownloadServlet</servlet-name> <url-pattern>/download</url-pattern> </servlet-mapping>
Persediaan ini membolehkan pengguna memuat turun fail dengan menghantar DAPATKAN permintaan untuk /download?id=
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Servlet Muat Turun Fail di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!