博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mint mvc文件上传功能——使用篇
阅读量:6247 次
发布时间:2019-06-22

本文共 2104 字,大约阅读时间需要 7 分钟。

  hot3.png

为了不打击大家的积极性,暂时只着重讲用法,原理方面暂时不讲太多。

配置web.xml

文件上传需要用到servlet3的异步处理功能。需要在web.xml配置文件中加入异步支持声明(注释处):

dispatcher
mint.mvc.core.ServiceServlet
true
actionPackages
demo;
0
dispatcher
/

编写上传文件的action

文件上传的action:

package demo;import mint.mvc.annotation.BaseMapping;import mint.mvc.annotation.Mapping;import mint.mvc.core.upload.MultipartConfig;import mint.mvc.core.upload.MultipartParameter;@BaseMapping("/upload")public class UploadAction {	@MultipartConfig(attributeName = "params", limitSize = 1024*1024*1024, tempFilePath = "D:/upload")	@Mapping(urls="/index", method="post")	public String index(MultipartParameter[] params, String author){		String fileParam = "";		String commonParam = "";				if(params != null){			for(MultipartParameter part : params){				if(part.isFile()){					fileParam += part.getTempFile().getAbsolutePath()+"
"; } else { commonParam += (part.getName()+":"+part.getParameterValue())+"
"; } } } System.out.println(author); return fileParam+commonParam; }}

处理文件上传请求的action方法需要添加MultipartConfig注解,MultipartConfig有三个参数:

  1. attributeName:为了在action内有办法获取到上传的文件,mint mvc把这些上传的文件都封装在一个数组里,这个数组用request对象的setAttribute方法,以指定的“attributeName”保存到request对象里。最后,可以在action内,用request.getAttribute()方法获得该数组。在博文中说过,mint mvc会自动的用HttpServletRequest的属性初始化action参数,所以只要在action上声明一个以attributeName命名,类型为MultipartParameter[]的参数,就可以轻松得到封装有文件信息的数组
  2. limitSize:限制每个上传文件(包括非文件参数)的大小,单位是B。如果上传过程中,发现有文件或参数超过此限制,上传过程将会终止
  3. tempFilePath:临时文件的保存路径。临时文件的命名格式是:UUID_真实文件名

mint mvc的上传功能除了可以接受文件外,还可以接收普通字段。普通字段会封装在request中,可以通过request的getParameters方法获取。

文件上传演示

文件上传的页面:

价格:
作者:
书籍:
书籍:
书籍:

选择文件:

客户端返回结果:

上传成功的文件:

本demo下载地址:

项目地址:

收录地址:

博客地址:

(完)

转载于:https://my.oschina.net/cnlw/blog/335187

你可能感兴趣的文章
3014C语言_运算符
查看>>
202702算法_二分法查找
查看>>
Win10 UWP开发实现Bing翻译
查看>>
各种不同类型的类
查看>>
mvc4 -@Html.Partial,@Html.RenderPartial
查看>>
windows2012 r2 提高网速方法
查看>>
调试R代码中出现的常用的函数
查看>>
JavaWeb 之 AJAX
查看>>
十、spark graphx的scala示例
查看>>
探秘SpringAop(一)_介绍以及使用详解
查看>>
查询指定时间内审核失败的事件日志
查看>>
problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 算法分析...
查看>>
springmvc流程
查看>>
BAT涉足汽车产业后对汽车后市场的影响是什么?
查看>>
LeetCode:Remove Nth Node From End of List
查看>>
删除链表的第 n 个结点
查看>>
drawable(1、canvas)
查看>>
Java过滤器,SpringMVC拦截器之间的一顺序点关系
查看>>
Git学习笔记(七)分支标签管理
查看>>
Vue学习计划基础笔记(四) - 事件处理
查看>>