Spring Mvc:用MultiPartFile上传单个文件,多个文件
1、单个文件上传步骤:
添加Apache文件上传jar包
首先需要下载两个apache上传文件的jar包,commons-fileupload-1.3.1jar,commons-io-2.4.jar
具体使用版本,清根据项目进行选择
2、配置MultipartResolver处理文件
Spring mvc用的是MultipartFile来进行文件上传,所以我们需要配置MultipartResolver,用于处理表单中的file
<bean id = "multipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5400000">
<property name="defaultEncoding" value="UTF-8" >
</bean>
属性介绍:
maxUploadSize:最大上传文件的大小,单位为字节;
defaultEncoding:请求的编码格式,默认为iso-8859-1
3、编写文件上传控制器:
@Controller
public class FileUploadController {
private static final UPLOAD_DIRECTORY = propertiesUtil.get("fileupload.directory,"""); @RequestMapping(value="uploadFile",method=RequestMethod.POST);
public ModelAndView uploadFile(@RequestParam("file") MultipartFile file) {
// 判断文件是否为空
if(!file.isEmpty()) {
try{
// 判断文件目录是否存在,否则则自动生成
File directory = new File(UPLOAD_DIRECTORY);
if(!directory.exists()) {
directory.mkdir();
}
// 失败跳转视图
if(file.getSize() > 30000)
return new ModelAndView("uploadFail","msg",file)
}
}
}
}
Spring Mvc:用MultiPartFile上传单个文件,多个文件的更多相关文章
- Spring Mvc + Maven + yuicompressor 使用 profile 来压缩 javascript ,css 文件; (十)
profile相关知识点: 在开发项目时,设想有以下场景: 你的Maven项目存放在一个远程代码库中(比如github),该项目需要访问数据库,你有两台电脑,一台是Linux,一台是Mac OS X, ...
- spring MVC 的MultipartFile转File读取
转自:http://www.cnblogs.com/hahaxiaoyu/p/5102900.html 第一种方法: MultipartFile file = xxx; Commo ...
- 在上已个Java Spring MVC项目基础上加MyBatis
代码目录: /Users/baidu/Documents/Data/Work/Code/Self/HelloSpringMVC 1. 首先在resource目录加上jdbc.properties: d ...
- spring MVC 的MultipartFile转File??
MultipartFile file = xxx; CommonsMultipartFile cf= (CommonsMultipartFile)file; DiskF ...
- maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 关于使用spring mvc前后端上传数据日期格式
前端页面传入数据到后台,String,int等等类型都很友好,但是Date类型不能直接上传到服务器.否则会报异常和应用层(比如HTTP)的协议.它通过"握手 ...
- python 简单的猜数字游戏
!/usr/bin/env python --encoding:utf-8-- import random think=random.randint(1,10) print ("...... ...
- 前端工程化 - gulp
gulp是什么 gulp就是一个前端的自动化构建工具,在开发过程中很多重复的任务可以使用gulp和gulp插件自动完成.相比于grunt,gulp非常好上手,核心API只有4个,而且还有丰富的插件库. ...
- TimerPickerDialog 中 onTimeSet 执行两次的问题
开发android小闹钟的程序时,在添加闹钟时闹钟列表中总是出现两个相同的闹钟. btnAddAlarm.setOnClickListener(new View.OnClickListener() { ...
- ros service
Server部分: #!/usr/bin/env python import sys import os import rospy #from beginner.srv import * from b ...
- JAVA异常处理机制分析(上)
过去曾有一段时间关于java的异常处理机制曾经让我吃尽苦头,异常机制看似简单,原理,用法也仅仅如此,但是,用起来或是在使用一些框架的时候总会因为使用不当,造成灾难性后果. jdk异常处理机制 ...
- centos7(debian,manjora,freebsd)命令及安装mysql、git、gpg、gogs,安装docker,zsh,chrome
最小安装: 1. 选择English 2. DATE & TIME 修改好本地时间 SOFTWARE SELECTION默认的Minimal Install就好 INSTALLATION DE ...
- 一张思维导图教你使用google一下
导图总览 google搜索技巧.png 双引号 代表完全匹配搜索 也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配 例如搜索"java 排序"与无引号的j ...
- 个人知识管理系统Version1.0开发记录(04)
demo model 我们采用mvc软件架构模式,方便以后用Struts2框架技术优化.重构.封装.这次主要设计一些常用的方法工具,即数据访问逻辑.工具:eclipse.oracle.sqldevel ...
- Leetcode 53
//经典class Solution { public: int maxSubArray(vector<int>& nums) { ; int maxsum = -INT_MAX; ...