The java component smartupload implements the ability to upload files

  • 2020-05-10 18:08:45
  • OfStack

jsp and serlvet are used to realize the simplest upload for your reference. The details are as follows

1. index.jsp


<%@ page language="java" pageEncoding="UTF-8"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 <head> 
 <base href="<%=basePath%>"> 
 <title>index.jsp</title> 
 <meta http-equiv="pragma" content="no-cache"> 
 <meta http-equiv="cache-control" content="no-cache"> 
 <meta http-equiv="expires" content="0"> 
 </head> 
 <body> 
 <form action="upload" method="post" enctype="multipart/form-data"> 
 <br> 
  Name: <input type="text" name="uname"/> 
 <br> 
  Upload a file :<input type="file" name="pic"/> 
 <br> 
 <input type="submit" value=" submit "></input> 
 </form> 
 </body> 
</html> 

2. action has jumped to servlet of upload, so it needs to be configured in web. xml, 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"> 
 <servlet> 
 <servlet-name>uploadAction</servlet-name> 
 <servlet-class>com.pop.action.SmartuploadAction</servlet-class> 
 </servlet> 
 <servlet-mapping> 
 <servlet-name>uploadAction</servlet-name> 
 <url-pattern>/upload/*</url-pattern> 
 </servlet-mapping> 
 <welcome-file-list> 
 <welcome-file>index.jsp</welcome-file> 
 </welcome-file-list> 
</web-app> 

3. action files mapped to, SmartuploadAction.java:


package com.pop.action; 
 
import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.jsp.JspFactory; 
import javax.servlet.jsp.PageContext; 
 
import com.soft4j.httpupload4j.Request; 
import com.soft4j.httpupload4j.SmartUpload; 
import com.soft4j.httpupload4j.SmartUploadException; 
 
public class SmartuploadAction extends HttpServlet { 
 private static final long serialVersionUID = -8610555375032925108L; 
 @Override 
 protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
  throws ServletException, IOException { 
 req.setCharacterEncoding("utf-8"); 
 resp.setCharacterEncoding("utf-8"); 
 SmartUpload su = new SmartUpload(); 
 //  Due to the multipart/form-data The transmission causes req Can't use, so use smartupload Produced by the request 
 Request reqest = su.getRequest(); 
 //  To obtain pageContext object  
 PageContext pageContext = JspFactory.getDefaultFactory() 
  .getPageContext(this, req, resp, null, true, 8192, true); 
 su.initialize(pageContext); 
 try { 
  su.upload(); 
  //  Upload to this project upload directory  
  su.save("upload"); 
 } catch (SmartUploadException e) { 
  e.printStackTrace(); 
 } 
 //  use smartupload Produced by the reqest Object to get the parameters passed by the page  
 String uname = reqest.getParameter("uname"); 
 System.out.println(uname); 
 } 
} 

Note: the package used is smartupload.zip.


Related articles: