前臺form 表單:設置method=post,enctype=multipart/form-data。
成都創新互聯公司是一家專注于網站建設、成都做網站與策劃設計,和田縣網站建設哪家好?成都創新互聯公司做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:和田縣等地區。和田縣做網站價格咨詢:18980820575
struts2在原有的上傳解析器繼承上做了進一步封裝,更進一步簡化了文件上傳。
Action需要使用3個屬性來封裝該文件域的信息:
(1)類型為File的*屬性封裝了該文件域對應的文件內容;
(2)類型為String的***FileName屬性封裝了該文件域對應的文件的文件類型;
(3)類型為String的***ContentType屬性封裝了該文件域對應的文件的類型。
具體實現:
新建web項目

添加struts2相關包
myeclipse可直接下載,右擊項目,如下。

前臺
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html> <body> <form action="upload.action" method="post" enctype="multipart/form-data"> <input type="file" name="upload" multiple="multiple"/> <input type="submit" value="提交"/> </form> </body> </html>
配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>UploadFile</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> </web-app>
配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <constant name="struts.devMode" value="true"/> <constant name="struts.multipart.saveDir" value="/tmp"/> <constant name="struts.custom.i18n.resources" value="app"></constant> <package name="default" namespace="/" extends="struts-default"> <action name="upload" class="com.yf.action.UploadAction"> <result>/index.jsp</result> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package> </struts>
后臺代碼
public class UploadAction extends ActionSupport{
private List<File> upload;
private List<String> uploadContentType;
private List<String> uploadFileName;
public List<File> getUpload() {
return upload;
}
public void setUpload(List<File> upload) {
this.upload = upload;
}
public List<String> getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(List<String> uploadContentType) {
this.uploadContentType = uploadContentType;
}
public List<String> getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(List<String> uploadFileName) {
this.uploadFileName = uploadFileName;
}
@Override
public String execute() throws Exception {
//文件保存路徑
String path = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(path);
//不存在則創建
if(!file.exists()){
file.mkdir();
}
//循環將文件上傳到指定路徑
for(int i = 0; i< upload.size(); i++){
FileUtils.copyFile(upload.get(i), new File(file,uploadFileName.get(i)));
}
return SUCCESS;
}結果如下


以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。
網頁名稱:Struts2實現多文件上傳功能
轉載來于:http://www.yijiale78.com/article10/pchodo.html
成都網站建設公司_創新互聯,為您提供標簽優化、外貿建站、網站策劃、網站維護、網站收錄、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯