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类型不能直接上传到服务器.否则会报异常表示把\(i\)这棵子树对应到原图中的\(S\)集合,\(i\)号点对应到了\(j\)号点的方案数.这玩意儿复杂度是\(O(3^nn^ ...
- django urlencode
from django.utils.http import urlquote a = urlquote('分享') print(a)
- 分布式Redis主备复制
当数据落在不同节点上时,如何保证数据节点之间的一致性是非常关键的 Redis采用主备复制的方式保证一致性,所有节点中,只有一个节点为主节点(master),它对外提供写服务,然后异步的将数据复制到其他 ...
- tenserflow models包的安装
1.下载 models包 https://github.com/tensorflow/models 2.将models包拷贝到本机Python包的安装地址即可,本机Python包的安装地址的查看方式可 ...
- ActiveStorage. 英文书Learnrails5.2的案例,看如何放到云上。
ActiveStorage. 英文书Learnrails5.2的案例 本例子目标:增加一个avatar image给每个用户. 准备: 需要安装Imagemagick software.它可以crea ...
- java网络编程之Socket编程
概念 网络编程分为BIO(传统IO).NIO.AIO.Socket编程属于BIO这种传统IO. InetAddress java.net.InetAddress是JAVA中管理IP地址的类,常用 pu ...
- Xcode8出现问题总结
上点干货,目前得知的一些bug解决汇总:iOS10相册相机闪退bughttp://www.jianshu.com/p/5085430b029fiOS 10 因苹果健康导致闪退 crashhttp:// ...
- 前端 crypto-js aes 加解密
下载:npm install crypto-js --save 需要定义两个方法 ,分别是用于加密和解密,这里我将它放在了 utils 文件夹下,命名为 secret.js ,其具体代码如下: con ...