JspSmart 文件上傳包,放在WEB-INF/lib下
uploadForm.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html> <html> <head> <base href="<%=basePath%>" /> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>test</title> <link rel="stylesheet" href=""> </head> <body> 文件上傳 <hr> <form action="UploadServlet" method="post" enctype="multipart/form-data"> 你選擇一個文件進行上傳: <input type="file" name="myFile"> <input type="submit" value="上傳"> </form> ${msg} </body> </html>
UploadServlet.java
package servlets; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jspsmart.upload.File; import com.jspsmart.upload.SmartUpload; import com.jspsmart.upload.SmartUploadException; public class UploadServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { SmartUpload smartUpload = new SmartUpload(); // 初始化 ServletConfig config = this.getServletConfig(); smartUpload.initialize(config, request, response); try { // 上傳文件 smartUpload.upload(); // 得到上傳的文件對象 File smartFile = smartUpload.getFiles().getFile(0); // 保存文件 smartFile.saveAs("C:/" + smartFile.getFileName(), smartUpload.SAVE_PHYSICAL);// 保存文件到C盤根目錄 } catch (SmartUploadException e) { e.printStackTrace(); } String msg = "Upload Success!"; request.setAttribute("msg", msg); RequestDispatcher rd = request.getRequestDispatcher("/uploadForm.jsp"); rd.forward(request, response); } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>UploadServlet</servlet-name> <servlet-class>servlets.UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/UploadServlet</url-pattern> </servlet-mapping> </web-app>
文件下載
download.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String filename = request.getParameter("file"); //告訴客戶端出現下載框,並指定下載框中的文件名 response.setHeader("Content-Disposition","attachment;filename="+filename); //指定文件類型 response.setContentType("image/jpeg"); //指定文件 RequestDispatcher rd = request.getRequestDispatcher("/FILES/" + filename); rd.forward(request, response); %>
download1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <body> 文件下載 <hr> <a href="download.jsp?file=img.jpg">下載</a> </body> </html>