Struts2实现文件批量上传

来源:互联网 发布:魔兽数据库 api 编辑:程序博客网 时间:2024/05/17 22:08

uploadCourseware.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><s:form action="/resource/uploadCoursewareAction" enctype="multipart/form-data"><s:file name="upload" label="选择文件1" /><br><s:file name="upload" label="选择文件2" /><br><s:file name="upload" label="选择文件3" /><br><s:file name="upload" label="选择文件4" /><br><s:file name="upload" label="选择文件5" /><br><s:submit value="上传"/></s:form><s:debug></s:debug></body></html>

struts.xml

<!-- 资源相关 --><package name="resource" namespace="/resource" extends="struts-default"><action name="upload*Action" class="resourceAction" method="upload{1}"><!-- 文件拦截器 --><interceptor-ref name="fileUpload"><!-- 单个文件的大小 --><param name="maximumSize ">10000000</param><param name="allowedTypes">application/octet-stream,application/vnd.ms-powerpoint,application/msword</param></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref><result name="success" type="redirect">/index.jsp</result><result name="input">/error.jsp</result><result name="error">/error.jsp</result></action>

ResourceAction.java(省略了getter、setter方法)

public class ResourceAction extends ActionSupport {/** *  */private static final long serialVersionUID = 1L;private List<File> upload;private List<String> uploadContentType;private List<String> uploadFileName;private long maximumSize;private String allowedTypes;private Integer coursewareId;private final String COURSEWARE = "courseware";private final String HOMEWORK = "homework";private Resource resource;private TeacherService teacherService;private StudentService studentService;// 老师上传课件public String uploadCourseware() throws Exception {// TODO Auto-generated method stubuploadFile("D:\\temp\\", "teacher");return "success";}// 上传文件公共代码public void uploadFile(String path, String user) {for (int i = 0; i < upload.size(); i++) {String savePath = path + uploadFileName.get(i);FileOutputStream fos = null;FileInputStream fis = null;try {fos = new FileOutputStream(savePath);fis = new FileInputStream(upload.get(i));byte[] buffer = new byte[1024];int len = 0;while ((len = fis.read(buffer)) > 0) {fos.write(buffer, 0, len);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {fos.close();fis.close();upload.get(i).delete();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}resource = new Resource();resource.setName(uploadFileName.get(i));resource.setPath(savePath);resource.setUploadDate(new Date());resource.setDownloadTimes(0);if (user.equals("teacher")) {resource.setType(COURSEWARE);teacherService.uploadCourseware(resource);} else if (user.equals("student")) {resource.setType(HOMEWORK);studentService.uploadHomework(resource);}}}}


0 0
原创粉丝点击