上传

1. 上传对表单的要求
* method=post
* enctype=multipart/form-data

2. 上传对servlet要求
* getParameter()不能再使用!

----------------------------------

Struts使用名为fileupload的拦截器完成上传。

1. 拦截器首先查看表单是否为multipart/form-data
2. 如果为multipart/form-data,那么拦截器会把file字段的数据封装到Action的三个属性中

-----------------------------------

一对三

* <input type="file" name="myupload"/> 文件表单项,文件字段。
* 对应Action的三个属性:
String myuploadFileName; 上传文件的名称
String myuploadContentType; 上传文件的MIME类型
File myupload; 上传文件的数据

-----------------------------------

上传配置

6个配置项,其中有3个是常量,还有3个是拦截器参数

1. 常量
commons-fileupload
用来指定上传组件
struts.multipart.parser=指定底层的上传组件
可选值:jakarta(它是默认值,它表示commons-fileupload)、cos(近几百看没有更新过)、pell(市场使用比较少)
struts.multipart.saveDir=指定临时文件目录
struts.multipart.maxSize=指定整个请求的大小,单位为字节,默认值为2M

2. 拦截器参数
maximumSize=单个文件的大小限制,单位为字节
allowedTypes=允许上传的MIME类型
allowedExtensions=允许上传的文件扩展名

-----------------------------------

国际化错误信息

struts.messages.error.uploading=上传出错
struts.messages.error.file.too.large=单个文件超出限制
struts.messages.error.content.type.not.allowed=非法的MIME类型
struts.messages.error.file.extension.not.allowed=非法扩展名
struts.messages.upload.error.SizeLimitExceededException=整个请求大小超出限制

-----------------------------------

struts2框架之文件上传(参考第三天学习笔记)的更多相关文章

  1. 笨鸟先飞之Java(一)--使用struts2框架实现文件上传

    无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...

  2. ajaxFileUpload+struts2实现多文件上传

    以前有介绍过ajaxFileUpload实现文件上传,但那是单文件的,这次介绍多文件上传. 单文件上传参考:http://blog.csdn.net/itmyhome1990/article/deta ...

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

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

  4. node.js使用express框架进行文件上传

    关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...

  5. [转]Struts2多个文件上传

    转载至:http://blog.csdn.net/hanxiaoshuang123/article/details/7342091 Struts2多个文件上传多个文件上传分为List集合和数组,下面我 ...

  6. Struts2 之 实现文件上传和下载

    Struts2  之 实现文件上传和下载 必须要引入的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 01.文件上传需要分别在struts.xm ...

  7. jersey框架实现文件上传

    jersey框架是一个开源的RESTful的框架,实现了实现了JAX-RS规范,进一步地简化 RESTful service 和 client 开发.当然而且是必须的,jersey对文件的上传和下载也 ...

  8. layUI框架中文件上传前后端交互及遇到的相关问题

    下面我将讲述一下我在使用layUI框架中文件上传所遇到的问题: 前端jsp页面: <div class="layui-form-item"> <label cla ...

  9. 使用SpringMVC框架实现文件上传和下载功能

    使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...

随机推荐

  1. javascript中click和onclick的区别

    <script type="text/javascript"> $(function(){ $("#btn4").click(function(){ ...

  2. C语言memmove()函数: 复制内存内容(可以重叠的内存块)

    头文件:#include <string.h> memmove() 用来复制内存内容,其原型为: void * memmove(void *dest, const void *src, s ...

  3. Golang入门教程(九)复合数据类型使用案例二

    参考:http://www.runoob.com/go/go-slice.html 目录 切片 字典(map) 函数(func) 接口(interface) 通道(chan) 四.切片(Slice) ...

  4. Char类型与Sting类型的数字字符转换时的不同点

    这是在一次编程时的bug里偶然发现的一个问题.在C#中,单引号默认是char类型字符,而双引号默认是string类型字符.对于char类型的数字字符,通过强制类型转换或者convert转换,转换成的整 ...

  5. 一个Silverlight工程的各文件解析

    创建一个解决方案,这个解决方案包括一个ASP.NET网站项目和一个Silverlight应用程序项目. 1)ASP.net项目: -------------Default.aspx:ASP.net默认 ...

  6. .Net结合JQuery实现向aspx后台函数进行请求。

    $.ajax({     url: "Default.aspx/aaaa",     async: false,     type: "POST",     c ...

  7. Java8新特性 并行流与串行流 Fork Join

    并行流就是把一个内容分成多个数据块,并用不同的线程分 别处理每个数据块的流. Java 8 中将并行进行了优化,我们可以很容易的对数据进行并 行操作. Stream API 可以声明性地通过 para ...

  8. docker搭建lnmp环境

    1.搭建lnmp网站平台 1.创建mysql数据库容器 docker run -it -d --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD= ...

  9. 大规模数据导入和导出(oracle)

    请期待... http://www.cnblogs.com/xwdreamer/archive/2012/06/08/2541678.html Oracle sqlldr的用法 (这个最完整) htt ...

  10. vs 调式连接oracle报错问题32,64位问题

    wind8 系统选择项目时生成目标平台选择为X86 报错“System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试加 ...