013——struts2的文件上传

来源:互联网 发布:如何管理淘宝客服 编辑:程序博客网 时间:2024/05/21 13:54

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><constant name="struts.custom.i18n.resources" value="UTF-8"></constant><!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 --><constant name="struts.configuration.xml.reload" value="true"/><!-- 需要继承struts-default包,这样就拥有的最基本的功能 --><package name="upload-package" extends="struts-default"><action name="upload" class="com.java.struts2.action.UploadAction"><result>/success.jsp</result></action></package></struts>
上传的Action类

package com.java.struts2.action;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import com.opensymphony.xwork2.Action;public class UploadAction {private String title;//可以得到上传文件的名称//规则:输入域的名称+固定字符串FileNameprivate String myFileFileName;//取得文件数据//规则:File 输入域的名称private File myFile;//取得内容类型//规则:输入域的名称+固定字符串ContentTypeprivate String myFileContentType;public String getMyFileContentType() {return myFileContentType;}public void setMyFileContentType(String myFileContentType) {this.myFileContentType = myFileContentType;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getMyFileFileName() {return myFileFileName;}public void setMyFileFileName(String myFileFileName) {this.myFileFileName = myFileFileName;}public File getMyFile() {return myFile;}public void setMyFile(File myFile) {this.myFile = myFile;}public String execute() throws Exception {InputStream is = null;OutputStream os = null;try {is = new BufferedInputStream(new FileInputStream(myFile));os = new BufferedOutputStream(new FileOutputStream("E:\\" + myFileFileName));byte[] buffer = new byte[1024];int len = 0;while ((len = is.read(buffer)) > 0) {os.write(buffer, 0, len);}}finally {if (is != null) {is.close();}if (os != null) {os.close();}}return Action.SUCCESS;}}
表单:

<form action="upload.action" method="post" enctype="multipart/form-data">标题:<input type="text" name="title"><br>文件:<input type="file" name="myFile"><br><input type="submit" value="提交"></form>

成功页面:

  <body>title:${title }<br>fileName:${myFileFileName }<br>myFileContentType:${myFileContentType }<br>Name"${myFile.name }"  </body>




0 0
原创粉丝点击