struts 2批量上传文件技术总结,为自己的开发生涯多做一点贡献。
来源:互联网 发布:数据仓库 数据加工 编辑:程序博客网 时间:2024/05/18 14:12
首先,文件的组成有:
总共有四个文件组成,com.fileupload.test.FileUploadUtil 上传utils
com.fileupload.test.UploadAction 上传action
/fileupload/WebRoot/index.jsp 上传页面
/fileupload/WebRoot/WEB-INF/web.xml web配置
其中FileUploadUtil 的内容为:
package com.fileupload.test;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.UUID;import org.apache.struts2.ServletActionContext;public class FileUploadUtil {/** * 给图片起新名字 * @param fileName * @return */public static String newName(String fileName) {int point = fileName.lastIndexOf(".");String ext = fileName.substring(point + 1);return UUID.randomUUID().toString() + "." + ext;}/** * 上传文件到指定路劲 * @param file * @param path * @throws Exception */public static void upfile(File file, String path) throws Exception {int size = 5 * 1024;BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file), size);BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(path), size);byte[] data = new byte[size];while (inputStream.read(data) > 0) {outputStream.write(data);}outputStream.close();}public static boolean createDir(String destDirName) { File dir = new File(destDirName); if(dir.exists()) { System.out.println("创建目录" + destDirName + "失败,目标目录已存在!"); return false; } if(!destDirName.endsWith(File.separator)) destDirName = destDirName + File.separator; // 创建单个目录 if(dir.mkdirs()) { System.out.println("创建目录" + destDirName + "成功!"); return true; } else { System.out.println("创建目录" + destDirName + "成功!"); return false; }}public static void main(String[] args) throws Exception {File file=new File("D://1.jpg");upfile(file, "d://tmp//1.jpg");System.out.println("上传成功");}}action内容为:
package com.fileupload.test;
import java.io.File;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport{
private List<File> images;// 文件结合
private List<String> imagesFileName;// 文件名结合
public List<File> getImages() {
return images;
}
public void setImages(List<File> images) {
this.images = images;
}
public List<String> getImagesFileName() {
return imagesFileName;
}
public void setImagesFileName(List<String> imagesFileName) {
this.imagesFileName = imagesFileName;
}
public String upload() throws Exception{
for (int i = 0; i < images.size(); i++) {
String newName = FileUploadUtil.newName(imagesFileName.get(i));
String pathz = ServletActionContext.getServletContext()
.getRealPath("\\upfile\\" + newName);
System.out.println("文件名" + pathz);
FileUploadUtil.upfile(images.get(i), pathz);
}
return null;
}
}
然后通过配置struts进行配置。web.xml配置。就可以实现上传。
原demo的下载地址为::http://download.csdn.net/download/u012115730/9949771
- struts 2批量上传文件技术总结,为自己的开发生涯多做一点贡献。
- struts批量上传文件
- struts批量上传文件
- 做出一些自己能做的贡献
- Struts上传文件技术
- 开博宣言:愿为VC初学者做自己的一点点贡献
- 对自己开发的一点总结
- 程序员,做技术神马的,请对自己好一点
- 程序员,做技术神马的,请对自己好一点!
- 为教育事业做贡献
- 真正开始自己的技术生涯
- 开始自己的技术博客生涯
- struts的多文件上传
- struts 2的文件上传
- struts 2多文件上传
- 送IOS开发新人,也为自己的学习做个总结
- 来说说过滤器为环保事业所做的贡献
- Struts的文件上传
- Kaldi脚本分析(6)——解码图构建
- spark python 环境搭建 windows10
- php之tp框架发邮件
- 试题一所有类
- Ubuntu安装JDK步骤
- struts 2批量上传文件技术总结,为自己的开发生涯多做一点贡献。
- spring <context:annotation-config /> 配置作用
- java设计模式
- QT接收SendMessage/PostMessage发出的消息
- Hbuilder中配置cmd
- 十六进制转字符串
- 1-自己实现string类(赋值运算符函数)
- 使用Excel中的插入对象功能在Excel中插入Word文档
- WCF分布式4:客户端访问寄宿在IIS中的WCF服务