struts中使用 FormFile接口实现上传
来源:互联网 发布:淘宝客建站还能赚钱吗 编辑:程序博客网 时间:2024/05/19 12:35
http://mysql.lybbs.net/bbs_topic.do?postID=15181
1.1. HTML
This isn't specific to Struts, but gives a simple example of the HTML required to upload a single file.
Two things are needed in the html page. Firstly, the form needs to specify an enctype of multipart/form-data and secondly an <input> form control of type file.
<form name="myForm" method="post" action="/mywebapp/uploadMyFile.do" enctype="multipart/form-data">
Select File: <input type="file" name="myFile"> </br>
<input type="submit" value="Upload File">
</form>
1.2. JSP
The above HTML can be generated using the Struts tags in the following way
<html:form action="/uploadMyFile.do" enctype="multipart/form-data">
Select File: <html:file property="myFile"> </br>
<html:submit value="Upload File"/>
</html:form>
1.3. ActionForm
The ActionForm needs a property of type FormFile.
1.3.1. Regular ActionForms
import org.apache.struts.upload.FormFile;
public class MyActionForm extends ActionForm {
private FormFile myFile;
public void setMyFile(FormFile myFile) {
this.myFile = myfile;
}
public FormFile getMyFile() {
return myFile;
}
}
1.3.2. Dyna ActionForms
In the struts-config.xml
<form-bean name="myForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="myFile" type="org.apache.struts.upload.FormFile"/>
</form-bean>
1.4. Whats Needed in the Action
Nothing special really, just retrieve the FormFile from the ActionForm, as you would any other property, and process it as you like. You can get the file name, size and file contents from the FormFile.
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
MyActionForm myForm = (MyActionForm)form;
// Process the FormFile
FormFile myFile = myForm.getMyFile();
String contentType = myFile.getContentType();
String fileName = myFile.getFileName();
int fileSize = myFile.getFileSize();
byte[] fileData = myFile.getFileData();
...
File file = new File("d://test.xls");
FileOutputStream output = new FileOutputStream(file);
int intBytes = 0;
byte buffer[] = new byte[8192];
while ((intBytes = inputStream.read(buffer,0,8192) )!= -1) {
output.write(buffer, 0, intBytes) ;
}
}
2. File Upload Configuration
The following parameters can be set in the <controller> element of the struts-config.xml to configure file upload:
bufferSize - The size (in bytes) of the input buffer used when processing file uploads. Default is 4096.
maxFileSize - The maximum size (in bytes) of a file to be accepted as a file upload. Can be expressed as a number followed by a "K", "M", or "G", which are interpreted to mean kilobytes, megabytes, or gigabytes, respectively. Default is 250M.
multipartClass - The fully qualified Java class name of the multipart request handler class to be used with this module. Defaults is org.apache.struts.upload.CommonsMultipartRequestHandler.
tempDir - Temporary working directory to use when processing file uploads.
- struts中使用 FormFile接口实现上传
- struts中上传文件-FormFile应用
- struts中上传文件-FormFile应用
- struts中上传文件-FormFile应用
- struts中上传文件-FormFile应用
- Struts FormFile 文件上传
- struts文件上传FormFile
- struts FormFile 上传文件
- 基于struts 的FormFile实现文件的上传功能
- 基于struts 的FormFile实现文件的上传功能
- 基于Struts FormFile上传文件
- 基于Struts FormFile上传文件
- 基于Struts FormFile上传文件
- 通过formFile实现上传文件,图片,或者其他,struts中继承action和dispatchAction的区别和用法
- 使用Struts上传文件,用FormFile取得上传文件的本地绝对路径
- 利用struts1 formfile实现文件上传功能
- 关键字: struts、formfile、commons-fileupload、java文件上传
- Struts中使用commons-fileupload实现上传例子
- acegi整合CAS
- AJAX(Javascript)解析xml简略总结
- mysql root 密码恢复
- RPM
- 奶奶个熊
- struts中使用 FormFile接口实现上传
- 详解程序死循环
- 大部分网站的session的处理
- 关于C语言中printf函数的一个问题
- 源码分析
- Spring Security-2.0.x参考文档CAS认证
- RHCE笔记
- JSP内置对象
- Base64介绍