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.multipart.maxSize" value="3000000001000"></constant>
<package name="a" extends="struts-default"> <!-- 上传 多文件上传 -->
<action name="upload" class="com.zr.fileupload" method="upload">
<param name="allowedTypes">image/bmp,image.jpg</param>
<param name="allowedExtensions">.jpg</param>
<interceptor-ref name="fileUpload">
<param name="maximumSize">81111110111</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
<result name="OK">/upload.jsp</result>
</action> <!-- 下载 单文件下载 -->
<action name="DownLoad" class="com.zr.DownLoad">
<result type="stream">
<param name="contentDisposition">attachment;filename=${fileName}</param>
</result> </action>
</package>
</struts>

下载方法

 package com.zr;

 import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException; import com.opensymphony.xwork2.ActionSupport; public class DownLoad extends ActionSupport{ private String fileName; public String getFileName() throws Exception{
fileName=new String(fileName.getBytes(), "ISO8859-1");
return fileName;
} public void setFileName(String fileName) {
this.fileName = fileName;
} public InputStream getInputStream()throws Exception{
File file=new File("C:/jdk-6u39-windows-i586.exe");
this.fileName="jdk-6u39-windows-i586.exe";
return new FileInputStream(file);
} }

实体类

 package com.zr;

 import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import com.opensymphony.xwork2.ActionSupport;
public class fileupload extends ActionSupport{ private File [] upload;
private String [] uploadFileName;
private String [] uploadContentType; public String upload() throws IOException{
for (int i = 0; i <upload.length; i++) {
String filepath="c:/"+uploadFileName[i];
File fp=new File(filepath);
FileUtils.copyFile(upload[i], fp);
}
return "OK";
} public File[] getUpload() {
return upload;
}
public void setUpload(File[] upload) {
this.upload = upload;
}
public String[] getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String[] uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String[] getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String[] uploadContentType) {
this.uploadContentType = uploadContentType;
}
}

index.jsp页面

 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</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">
-->
<SCRIPT type="text/javascript" src="jquery-1.8.2.min.js"></SCRIPT>
</head>
<body>
<embed
name="honehoneclock"
width="320"
align="middle"
pluginspage="http://www.macromedia.com/go/getflashplayer"
src="http://chabudai.sakura.ne.jp/blogparts/honehoneclock/honehone_clock_wh.swf"
type="application/x-shockwave-flash"
allowscriptaccess="always"
bgcolor="#ffffff"
quality="high"
wmode="transparent"
> <form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="upload"><br/>
<input type="file" name="upload"><br/>
<input type="file" name="upload"><br/>
<input type="submit" value="上传"> <br/>
</form> <a href="DownLoad.action">下载</a> </body>

</html>

struts配置注意事件

以上内容为个人笔记记录

可供他人参考

2017-08-1112:51:01

Struts---多文件上传、单文件下载的更多相关文章

  1. 分享知识-快乐自己:SpringMvc中的单多文件上传及文件下载

    摘要:SpringMvc中的单多文件上传及文件下载:(以下是核心代码(拿过去直接能用)不谢) <!--设置文件上传需要的jar--> <dependency> <grou ...

  2. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  3. struts2中的文件上传,文件下载

    文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交 ...

  4. struts2的文件上传和文件下载

    实现使用Struts2文件上传和文件下载: 注意点: (1)对应表单的file1和私有成员变量的名称必须一致 <input type="file" name="fi ...

  5. struts 多文件上传 annotation注解(零配置)+ ajaxfileupload + 异步 版本

    [本文简介] struts 多文件上传.基于”零配置“+"ajaxfileupload" 的一个简单例子. [导入依赖jar包] jquery-1.7.2.js : http:// ...

  6. struts 多文件上传 xml 版本

    [本文简介] 本文将介绍 以配置 struts.xml  的方式 实现 多文件上传的功能. [文件夹结构] [struts.xml] <?xml version="1.0" ...

  7. struts文件上传、文件下载

    文件上传 如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name ...

  8. struts2实现文件上传、多文件上传和文件下载

    总结的两个问题,就是struts2上传下载的时候对属性名配置要求非常严格: 第一:上传的时候 private File file; private String fileContentType; pr ...

  9. java框架篇---struts之文件上传和下载

    Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...

  10. struts2中的文件上传和文件下载

    单文件文件上传 1.

随机推荐

  1. golang之基本数据类型

    目录 一.golang之基本数据类型 1. 整型 (1)有符号(范围是负数.0和正数) (2)无符号(范围是0和正数) (3)特殊整型 (4)数字字面量语法 2. 浮点型 3. 复数类型 4. 布尔类 ...

  2. 杀掉nginx进程

    ps aux | grep nginx kill -INT 进程号(例如:2661)

  3. django 之视图层及模板层 04

    目录 视图层 render方法是Template和Contex两个对象的组合使用 JsonResponse对象 CBV及源码分析 CBV 加装饰器的方式 模板层 模板语法传值 模板语法 变量 过滤器( ...

  4. qt5--树形控件QTreeWidget

    需要       #include <QTreeWidget>               #include <QTreeWidgetItem> #include " ...

  5. qt5-QWidget坐标系统和大小和展示区域

    #include "win.h" #include <QPushButton> #include <QLabel> #include <QDebug& ...

  6. maven安装问题解决

    出现: The JAVA_HOME environment variable is not defined correctly This environment variable is needed ...

  7. PyQT5堆叠布局:切换界面(QStackedLayout)

    几乎所有的GUI界面都需要用到这个场景:在一个界面里面,点击不同的按钮显示不同的内容 在Qt设计师中没有堆叠布局,需要我们手动添加 在Qt设计师中,设计3个切换的页面,和一个主界面. 注意在主界面是两 ...

  8. springCloud 搭建eureka服务之天坑

    这里我是采用gradle来管理jar包的. 1.使用idea创建一个gradle项目. 2.编辑settings.gradle文件 rootProject.name = 'jtm' //include ...

  9. JavaWeb_(SSH论坛)_六、点赞模块

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 联合主键 创建p ...

  10. Linux-expect脚本-1

    expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 首行加上/usr/bin/expect spawn: 后面加上需要执行的shell命令,比如说spawn sudo ...