TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
一、上传页面: <%@ page language="java" contentType="text/HTML; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>使用数组上传多个文件</title>
</head>
<body>
<s:fielderror/>
<form action="upload.action" method="post" enctype="multipart/form-data">
文件标题:<input type="text" name="title" /><br>
选择第一个文件:<input type="file" name="upload" /><br>
选择第二个文件:<input type="file" name="upload" /><br>
选择第三个文件:<input type="file" name="upload" /><br>
<input value="上传" type="submit" />
</form>
</body>
</html>

二、上传成功页面: <%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>上传成功</title>
</head>
<body>
上传成功!<br>
文件标题:<s:property value=" + title"/><br>
第一个文件为:<img src="<s:property value=""upload/" + uploadFileName[0]"/>"/><br>
第二个文件为:<img src="<s:property value=""upload/" + uploadFileName[1]"/>"/><br>
第三个文件为:<img src="<s:property value=""upload/" + uploadFileName[2]"/>"/><br> </body>
</html>

三、动作类- package lee;
- import com.opensymphony.xwork2.Action;
- import org.apache.struts2.ServletActionContext;
- import java.io.File;
- import java.io.*;
- import com.opensymphony.xwork2.ActionSupport;
- /**
- * @author yeeku.H.lee kongyeeku@163.com
- * @version 1.0
- * Copyright (C), 2005-2008, yeeku.H.Lee
- * This program is protected by copyright laws.
- * Program Name:
- * Date:
- */
- public class UploadAction extends ActionSupport
- {
- private String title;
- private File[] upload;
- private String[] uploadContentType;
- private String[] uploadFileName;
- //接受依赖注入的属性
- private String savePath;
- //接受依赖注入的方法
- public void setSavePath(String value)
- {
- this.savePath = value;
- }
- private String getSavePath() throws Exception
- {
- return ServletActionContext.getRequest().getRealPath(savePath);
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
- public void setUpload(File[] upload) {
- this.upload = upload;
- }
- public void setUploadContentType(String[] uploadContentType) {
- this.uploadContentType = uploadContentType;
- }
- public void setUploadFileName(String[] uploadFileName) {
- this.uploadFileName = uploadFileName;
- }
- public String getTitle() {
- return (this.title);
- }
- public File[] getUpload() {
- return (this.upload);
- }
- public String[] getUploadContentType() {
- return (this.uploadContentType);
- }
- public String[] getUploadFileName() {
- return (this.uploadFileName);
- }
- @Override
- public String execute() throws Exception
- {
- File[] files = getUpload();
- for (int i = 0 ; i < files.length ; i++)
- {
- //以服务器的文件保存地址和原文件名建立上传文件输出流
- FileOutputStream fos = new FileOutputStream(getSavePath() + "" + getUploadFileName()[i]);
- FileInputStream fis = new FileInputStream(files[i]);
- byte[] buffer = new byte[1024];
- int len = 0;
- while ((len = fis.read(buffer)) > 0)
- {
- fos.write(buffer , 0 , len);
- }
- }
- fos.close();// 注意:流应当关闭。
- fis.close();
- return SUCCESS;
- }
- }
复制代码 四、struts.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts> <constant name="struts.custom.i18n.resources" value="globalMessages"/>
<constant name="struts.i18n.encoding" value="GBK"/> <package name="upload" extends="struts-default">
<action name="upload" class="lee.UploadAction">
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg,image/pjpeg</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
<param name="savePath">/upload</param>
<result name="input">/upload.jsp</result>
<result>/succ.jsp</result>
</action>
</package>
</struts>
源码下载:http://file.javaxxz.com/2014/10/11/051100218.zip |
|