struts2 的文件上传
来源:互联网 发布:淘宝账户被冻结多久 编辑:程序博客网 时间:2024/05/21 11:31
Struts2的文件上传:
在struts2-default中的默认配置文中,struts-default.xml,其中的defaultStack中,fileuploadinterceptor是默认的拦截器栈,所以在用户在客户端通过jsp页面请求服务器的Action时,就会通过这个fileuploadinterceptor拦截器,此时fileupload会将文件保存呢到指定的位置。但是其内部必须提供了相应的约束。
1、编写文件上传页面
1) 必须input type="file" 有name属性
2) form提交方式 必须采用 post方式
3) enctype="multipart/form-data"
* multipart/form-data 来自MIME协议
------------------------------------- 分隔线
username = 123
-------------------------------------
文件上传内容
-------------------------------------
public class FileUploadAction extends ActionSupport{
// 接收文件上传的数据
private File upload ; // 和页面中的file标签的name属性名字必须相同
private String uploadContentType ; // 上传文件的类型 “file标签name属性名+ContentType”
private String uploadFileName ; //上传文件的名称 “页面的file标签name属性名+FileName”
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String execute() throws Exception {
System.out.println("文件上传、、、");
// 在web项目中 获得绝对路径
ServletContext context = ServletActionContext.getServletContext() ;
String uploadDir = context.getRealPath("/upload");
// 将文件写入到指定的目录
// 当经过默认拦截器的fileupInterceptor时候,已经将客户端要上传的文件上传到服务器的指定位置,文件的类型是File,要是想把文件保存到自己想保存的位置,
// 只需要用IO流将其封装(读取到流中,封装为InputStream),并用流写入到相应的目标位置即可。
InputStream in = new BufferedInputStream(new FileInputStream(upload));
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(uploadDir,uploadFileName)));
byte[] b = new byte[1024];
int len = -1 ;
while(( len = in.read(b)) != -1){
out.write(b, 0, len);
}
in.close();
out.close();
return SUCCESS ;
}
}
- [Struts2]Struts2的文件上传
- Struts2的文件上传
- Struts2的文件上传
- Struts2的文件上传
- struts2的文件上传
- Struts2 的文件上传
- struts2的文件上传
- Struts2文件的上传
- Struts2文件的上传
- struts2的文件上传
- Struts2文件的上传
- struts2的文件上传
- Struts2的文件上传
- struts2文件的上传
- Struts2的文件上传
- struts2 的文件上传
- Struts2的文件上传
- Struts2的文件上传
- Ajax跨域访问解决方案(httpclient、JSONP深入剖析)
- 快速排序
- Struts2中的ModelDriven机制及其运用
- Linux常见命令(head,tail)
- Clover使用笔记(持续更新)
- struts2 的文件上传
- Caused by: java.lang.ClassNotFoundException:javax.wsdl.xml.WSDLLocator
- spring 配置
- eclipse删除所有断点方法
- 黑马程序员-javaSE学习之面向对象细节以及重点详解
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- POJ 3261 - Milk Patterns 求指定重复次数的最长子串,后缀数组+二分 or 线段树
- Cocos2d-x 例子TestCPP —记录1
- iOS7 UITableView 分割线变短