Struts文件上传与下载详解 _上传多个文件
生活随笔
收集整理的這篇文章主要介紹了
Struts文件上传与下载详解 _上传多个文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
???? 在上一篇中給大家列出的單個文件的上傳,那么這一篇咱們講講上傳多個文件改怎么作呢?由于過程和上傳單個文件的類似,所以在這里不細說,相信大家都能看懂,看不懂的可以在評論區留言,我看到之后會及時回復的!!
??? 咱們開門見山的來吧
1.創建個jsp表單頁面,主要就是上傳多個文件:
<body><s:form action="upload.action" method="post" enctype="multipart/form-data"><s:textfield name="file" label="標題"/><br/><%-- <s:file name="upload" label="選擇文件"/><br/> --%><s:file name="mupload" label="選擇文件1"/><br/><s:file name="mupload" label="選擇文件2"/><br/><s:file name="mupload" label="選擇文件3"/><br/><s:submit name="submit" value="上傳文件"/></s:form></body>
2.我們接下來去寫一下UploadAction里面:
package org.web;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport {private File[] mupload; //封裝上傳文件的屬性(多個)private String[] muploadContentType; //封裝上傳文件的類型(多個)private String[] muploadFileName; //封裝上傳文件的名稱(多個)private String msavePath; //獲取文件上傳的路徑(多個)//實現文件的多個上傳public String execute() throws IOException{byte[] buffer=new byte[1024];for (int i = 0; i < mupload.length; i++) {//獲取物理路徑"/upload"String path=ServletActionContext.getServletContext().getRealPath(savePath);FileInputStream fis=new FileInputStream(getMupload()[i]);FileOutputStream fos=new FileOutputStream(path+"/"+getMuploadFileName()[i]);int length=fis.read(buffer);while (length>0) {//每次寫入length長度的內容fos.write(buffer,0,length);length=fis.read(buffer);}fis.close();fos.flush();fos.close();}return SUCCESS;}public File[] getMupload() {return mupload;}public void setMupload(File[] mupload) {this.mupload = mupload;}public String[] getMuploadContentType() {return muploadContentType;}public void setMuploadContentType(String[] muploadContentType) {this.muploadContentType = muploadContentType;}public String[] getMuploadFileName() {return muploadFileName;}public void setMuploadFileName(String[] muploadFileName) {this.muploadFileName = muploadFileName;}public String getMsavePath() {return msavePath;}public void setMsavePath(String msavePath) {this.msavePath = msavePath;}}
3.nice,這里面已經搞定,咱們就移步到struts.xml里面配置一下就可以了
??
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"> <struts><package name="default" namespace="/" extends="struts-default"><!-- 文件上傳 --><action name="upload" class="org.web.UploadAction"><param name="savePath">/upload</param><result name="success">/upload_suc.jsp</result></action></package> </struts>??? 最后發布運行就OK了。總結
以上是生活随笔為你收集整理的Struts文件上传与下载详解 _上传多个文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自家电脑怎么填首选DNS和备用DNS服务
- 下一篇: dns地址设置多少?