Struts---多文件上传、单文件下载
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---多文件上传、单文件下载的更多相关文章
- 分享知识-快乐自己:SpringMvc中的单多文件上传及文件下载
摘要:SpringMvc中的单多文件上传及文件下载:(以下是核心代码(拿过去直接能用)不谢) <!--设置文件上传需要的jar--> <dependency> <grou ...
- Struts的文件上传下载
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...
- struts2中的文件上传,文件下载
文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交 ...
- struts2的文件上传和文件下载
实现使用Struts2文件上传和文件下载: 注意点: (1)对应表单的file1和私有成员变量的名称必须一致 <input type="file" name="fi ...
- struts 多文件上传 annotation注解(零配置)+ ajaxfileupload + 异步 版本
[本文简介] struts 多文件上传.基于”零配置“+"ajaxfileupload" 的一个简单例子. [导入依赖jar包] jquery-1.7.2.js : http:// ...
- struts 多文件上传 xml 版本
[本文简介] 本文将介绍 以配置 struts.xml 的方式 实现 多文件上传的功能. [文件夹结构] [struts.xml] <?xml version="1.0" ...
- struts文件上传、文件下载
文件上传 如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name ...
- struts2实现文件上传、多文件上传和文件下载
总结的两个问题,就是struts2上传下载的时候对属性名配置要求非常严格: 第一:上传的时候 private File file; private String fileContentType; pr ...
- java框架篇---struts之文件上传和下载
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
- struts2中的文件上传和文件下载
单文件文件上传 1.
随机推荐
- SQL注入--盲注及报错注入
盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根 ...
- php多个数组组合算法 火车头免登录发布接口代码备忘
火车头发布产品的时候,有颜色.尺码.性别等等产品属性,需要进行不重复的组合,变成不重复的数组 <?php function comb($a){ $a = array_filter($a); $o ...
- nginx防止跳转到内网解决
proxy_redirect http://test.abc.com:9080/ /;
- 【Linux学习四】Linux下Vim命令操作
1.Vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 第一阶段通过vimtutor的学习,加强vim的熟练度 1.1光标移动 hjkl左 ...
- RobotFramework常见语法
https://blog.csdn.net/yu1014745867/article/details/79324732 常用关键字* Settings * Library Selenium2Libra ...
- 基于MaxCompute InformationSchema进行血缘关系分析
一.需求场景分析 在实际的数据平台运营管理过程中,数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长到非常大的规模,数据管理人员往往希望能够利用元数据的分析来更好地掌握不同数据表的血缘 ...
- document.writeln绑定数据 --点击跳转添加样式
document.writeln(" "); document.writeln(" "); document.writeln(" "); d ...
- nopCommerce4.10学习笔记——入门
1.下载 千万不要去GitHub上下载,千万不要去GitHub上下载,千万不要去GitHub上下载!!!,重要的事情说3遍,说多了都是泪,你懂的 下载网址:https://www.nopcommerc ...
- vue-router中,require代替import解决vue项目首页加载时间过久的问题
vue的路由配置文件(routers.js),一般使用import引入的写法,当项目打包时路由里的所有component都会打包在一个js中,在项目刚进入首页的时候,就会加载所有的组件,所以导致首页加 ...
- python3 set集合,以及字典,使用技巧
#set集合,无序不可重复setjh={'ofgh','gegds','uutytr'} setjh.add('uuuuu')#添加单个元素setjh.remove('ofgh')#删掉单个元素pri ...