SpringMVC 之 上传文件
一、需求:
利用SpringMVC实现上传文件的功能
二、思路:
1.我们可以在SpringMVC中,通过配置一个MultipartResolver来上传文件。
2.通过MultipartFile file来接收文件,通过MultipartFile[] files接收多个文件上传。
三、参考
1.SpringMVC学习:https://how2j.cn/k/springmvc/springmvc-springmvc/615.html?p=36286
四、步骤
1.添加pom文件
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.3
2.JSP页面
上传页面,需要在src/main/resources/views下面新建一个upload.jsp文件
3.跳转页面
添加能跳转到upload页面的ViewController。需要在MyMvcConfig.java下面添加。
// 添加转向upload页面的ViewController
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/index").setViewName("/index");
registry.addViewController("/toUpdate").setViewName("/upload");
}
4.MultipartResolver配置
同样,在MyMvcConfig.java下面添加。
// MultipartResolver配置
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(1000000);
return multipartResolver;
}
5.控制器(控制层)
package com.eleven.controller;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
@Controller // 在@controller注解中,返回的是字符串,或者是字符串匹配的模板名称,即直接渲染视图,与html页面配合使用的
public class UploadController {
// @RequestMapping:是用来处理地址映射的注解
// value:指定请求的实际地址
// method:指定请求的方法类型,有get、post、put、delete
@RequestMapping(value = "/upload", method = RequestMethod.POST)
// 使用MultipartFile file接收上传的文件
// @ResponseBody:将java对象转为json格式的数据。
public @ResponseBody String upload(MultipartFile file) {
try {
// 使用FileUtils.writeByteArrayToFile快速写文件到磁盘
FileUtils.writeByteArrayToFile(new File("D:upload/" + file.getOriginalFilename()), file.getBytes());
return "ok";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "wrong";
}
}
}
6.运行
访问路径: http://localhost:8080/springmvc/upload 即可。
SpringMVC 之 上传文件的更多相关文章
- 【SpringMVC】使用SpringMVC进行上传文件!
写在前面: 之前在上传文件的时候,使用的是commons-file-upload这个插件,非常方便,能控制每个文件的大小,总共大小,缓存,以及支持多个文件的同时上传,但是写一次上传文件的后台代码量太大 ...
- 基于SpringMVC的上传文件实现
基于SpringMVC的上传文件实现 1.项目源码 源码地址:upload 2.关键代码 @RequestMapping("/upload2") public void datal ...
- SpringMVC 学习-上传文件分解器 CommonsMultipartResolver 类
Spring 组件 CommonsMultipartResolver 类的主要作用是配置文件上传的一些属性,也可以控制上传文件的大小. 在 springmvc-servlet.xml 配置文件中: & ...
- springmvc+ajaxFileUpload上传文件(前后台彻底分离的情况下)
首先是导入jar包: web.xml: <servlet> <servlet-name>mvc-dispatcher</servlet-name> <serv ...
- SpringMVC在上传文件的时候提示The current request is not a multipart request错误
@RequestMapping("/insertOrder") @ResponseBody public Object insertOrder(String userId,Htt ...
- SpringMvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...
- springmvc.xml 上传文件的配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.Comm ...
- Springmvc异步上传文件
<script src="js/jquery.js" type="text/javascript"></script><scrip ...
- SpringMVC,SpringBoot上传文件简洁代码
@RequestMapping("/updateAvatar.html") public String updateHeadUrl(MultipartFile avatar, Mo ...
随机推荐
- iOS 常用算法之设计一个算法,验证某字符是否为合法IPV4字符
浅析 : 一个IPV4字符由3个大于0小于255的数字 以及 3个点构成, 所有我们需要判断小数点数量是否满足条件, 以及小数点隔开的每部分是否满足条件即可. 思路: 1. 校验是否有3个小数点; 2 ...
- mssql sqlserver 使用SSMS运行sql脚本的六种方法分享
摘要: 下文讲述五种运行sql脚本的方法,如下所示: 实验环境:sql server 2008 R2 在一次会议讨论中,大家咨询我使用SSMS运行sql脚本的方法,下文我将依次举例讲述sql脚本的运行 ...
- vue全局路由守卫beforeEach+token验证+node
在后端安装jsonwebtoken npm i jsonwebtoken --save 在 login.js文件中引入 // 引入jwtconst jwt = require ...
- zz阿里妈妈深度树检索技术(TDM)及应用框架的探索实践
分享嘉宾:何杰 阿里妈妈 高级算法专家 编辑整理:孙锴 内容来源:DataFun AI Talk 出品社区:DataFun 注:欢迎转载,转载请注明出处 导读:阿里妈妈是阿里巴巴集团旗下数字营销的大中 ...
- Python文件读取中:f.seek(0)和f.seek(0,0)有什么区别
file.seek()方法标准格式是:seek(offset,whence=0)offset:开始的偏移量,也就是代表需要移动偏移的字节数whence:给offset参数一个定义,表示要从哪个位置开始 ...
- 第七章 确保Web安全的HTTPS
第七章 确保Web安全的HTTPS 使用HTTPS通信机制可以有效防止信息窃听或身份伪装等安全问题. 1.HTTP缺点 [通信使用明文(不加密)]:内容容易被窃听. 加密处理防止被窃听.根据加密的对象 ...
- Visual Studio 2017 编译 gens 世嘉模拟器
1) 下载源代码 2.14 版本 http://gens.me/downloads.shtml 2) 下载 老版本 DirectX 并且安装 https://github.com/apitrace/a ...
- 14 opencv读取XML
https://blog.csdn.net/A_L_A_N/article/details/83272772 FileStorage类 FileStorage类将各种OpenCV数据结构的数据存储为X ...
- xLua 学习
xLua https://github.com/Tencent/xLua 文档 https://tencent.github.io/xLua/public/v1/guide/index.html FA ...
- Azure EA (1) 查看国内Azure账单
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 有关Azure EA Portal的详细内容,可以参考我的GitHu ...