struts2文件上传
来源:互联网 发布:石鑫网络信息有限公司 编辑:程序博客网 时间:2024/06/06 05:25
一、单文件上传:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>fileupload</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <s:debug></s:debug> <h4>File Up Load</h4> <s:form action="upload" enctype="multipart/form-data" theme="simple" method="post"> File: <s:file name="ppt"></s:file><br> FileDesc<s:textfield name="pptDesc"></s:textfield><br> <s:submit></s:submit> </s:form> </body></html>
struts.xml文件
<action name="upload" class="com.upload.action.FileUpLoadAction" > <result>/success.jsp</result> <result name="input">/fileupload.jsp</result> </action>
FileUpLoadAction.java文件:
package com.upload.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.List;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class FileUpLoadAction extends ActionSupport {/** * */private static final long serialVersionUID = 1L;private File ppt;private String pptContentType;private String pptFileName;private String pptDesc;public File getPpt() {return ppt;}public void setPpt(File ppt) {this.ppt = ppt;}public String getPptContentType() {return pptContentType;}public void setPptContentType(String pptContentType) {this.pptContentType = pptContentType;}public String getPptFileName() {return pptFileName;}public void setPptFileName(String pptFileName) {this.pptFileName = pptFileName;}public String getPptDesc() {return pptDesc;}public void setPptDesc(String pptDesc) {this.pptDesc = pptDesc;}@Overridepublic String execute() throws Exception {System.out.println(ppt);System.out.println(pptContentType);System.out.println(pptFileName);System.out.println(pptDesc);ServletContext servletContext = ServletActionContext.getServletContext();String dir = servletContext.getRealPath("/files/" + pptFileName);System.out.println(dir);FileOutputStream out = new FileOutputStream(dir);FileInputStream in = new FileInputStream(ppt);byte [] buffer = new byte[1024];int len = 0;while((len = in.read(buffer)) != -1){out.write(buffer, 0, len);}out.close();in.close();return "success";}}
多文件上传:
只要将jsp页面修改,和Action
例如:
Action代码:
package cn.csdn.hr.up.action;import java.io.File;import java.io.IOException;import java.util.List;import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class TagUploadListAction extends ActionSupport { private static final long serialVersionUID = 1L; private String name; // 上传多个文件的集合文本 private List<File> upload; // /多个上传文件的类型集合 private List<String> uploadContentType; // 多个上传文件的文件名集合 private List<String> uploadFileName; public String getName() { return name; } public void setName(String name) { this.name = name; } public List<File> getUpload() { return upload; } public void setUpload(List<File> upload) { this.upload = upload; } public List<String> getUploadContentType() { return uploadContentType; } public void setUploadContentType(List<String> uploadContentType) { this.uploadContentType = uploadContentType; } public List<String> getUploadFileName() { return uploadFileName; } public void setUploadFileName(List<String> uploadFileName) { this.uploadFileName = uploadFileName; } public String execute() { // 把上传的文件放到指定的路径下 String path = ServletActionContext.getServletContext().getRealPath( "/WEB-INF/uploadList"); // 写到指定的路径中 File file = new File(path); // 如果指定的路径没有就创建 if (!file.exists()) { file.mkdirs(); } // 把得到的文件的集合通过循环的方式读取并放在指定的路径下 for (int i = 0; i < upload.size(); i++) { try { //list集合通过get(i)的方式来获取索引 FileUtils.copyFile(upload.get(i), new File(file, uploadFileName.get(i))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return SUCCESS; }}
0 0
- struts2上传文件(三) struts2上传文件
- [Struts2]Struts2的文件上传
- Struts2的文件上传
- Struts2文件上传
- Struts2 上传文件实例
- struts2文件上传
- struts2文件上传
- Struts2的文件上传
- struts2-上传文件(1)
- struts2-上传文件(2)
- Struts2上传文件示例
- struts2文件上传
- Struts2实现文件上传
- struts2文件上传
- Struts2 文件上传
- ext + struts2 上传文件
- Struts2 文件上传
- Struts2的文件上传
- 自作拖拽事件
- JDK中的设计模式
- 基础算法
- 检测字符串长度
- C++面试题_不断更新
- struts2文件上传
- CString与Char*的转换,以及中文字符写入文件,文件的读写等
- hdu 2674 N!Again 数论水题啊~~~
- 【c++ primer读书笔记】【第2章】变量和基本类型
- Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)
- 关于android 如何安装 assets文件下的apk
- Python Paramiko模块安装和使用
- struts工作原理(一个url调用到返回结果全过程)
- VC++ D2D呈现水晶报表并实时刷新