前臺form 表單:設(shè)置method=post,enctype=multipart/form-data。
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),和田縣網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:和田縣等地區(qū)。和田縣做網(wǎng)站價(jià)格咨詢:18980820575
struts2在原有的上傳解析器繼承上做了進(jìn)一步封裝,更進(jìn)一步簡化了文件上傳。
Action需要使用3個屬性來封裝該文件域的信息:
(1)類型為File的*屬性封裝了該文件域?qū)?yīng)的文件內(nèi)容;
(2)類型為String的***FileName屬性封裝了該文件域?qū)?yīng)的文件的文件類型;
(3)類型為String的***ContentType屬性封裝了該文件域?qū)?yīng)的文件的類型。
具體實(shí)現(xiàn):
新建web項(xiàng)目
添加struts2相關(guān)包
myeclipse可直接下載,右擊項(xiàng)目,如下。
前臺
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
配置web.xml
UploadFile struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 *.action
配置struts.xml
/index.jsp
后臺代碼
public class UploadAction extends ActionSupport{ private Listupload; private List uploadContentType; private List uploadFileName; public List getUpload() { return upload; } public void setUpload(List upload) { this.upload = upload; } public List getUploadContentType() { return uploadContentType; } public void setUploadContentType(List uploadContentType) { this.uploadContentType = uploadContentType; } public List getUploadFileName() { return uploadFileName; } public void setUploadFileName(List uploadFileName) { this.uploadFileName = uploadFileName; } @Override public String execute() throws Exception { //文件保存路徑 String path = ServletActionContext.getServletContext().getRealPath("/images"); File file = new File(path); //不存在則創(chuàng)建 if(!file.exists()){ file.mkdir(); } //循環(huán)將文件上傳到指定路徑 for(int i = 0; i< upload.size(); i++){ FileUtils.copyFile(upload.get(i), new File(file,uploadFileName.get(i))); } return SUCCESS; }
結(jié)果如下
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。