例:用户注册提交一个头像文件

第一步,创建项目 ,导入jar包
做文件上传除了要导入spring常规的jar包外,还要导入commons-fifileupload和commons-io这两个jar包。
第二步,web.xml中声明spring的核心监听器 ,spring mvc的前端控制器
第三步,创建spring和spring mvc的主配置文件
第四步,创建包和类
    1.创建用户实体类
  2.创建控制器
package com.aaa.springmvc.controller;
import com.aaa.springmvc.entity.Users;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
/**
*
*/
@Controller
public class UserController {
/**
* 用户注册的请求
* @param user
* @return
*/
@RequestMapping("/register")
public String register(Users user, MultipartFile file){
//获取文件的真实文件名
String trueName = file.getOriginalFilename();
System.out.println("真实文件名:"+trueName);
//获取文件的大小
Long size = file.getSize();
System.out.println("文件大小(字节):"+size);
//需要把file文件存储到本地磁盘上
String DIR = "D:/upload/";
//保存的时候不能保存真实文件名,可以使用一种机制生成唯一的文件名
//UUID类是用来获取32位的固定长度的随机字符串,每次获取到的字符串永远不会重复。
String saveName = UUID.randomUUID().toString();
//创建要保存的文件
File newFile = new File(DIR+saveName);
//把临时文件file转储到newFile上
try {
file.transferTo(newFile);
} catch (IOException e) {
e.printStackTrace();
}
user.setTrueName(trueName);
user.setSaveName(saveName);
System.out.println("用户名:"+user.getUsername());
System.out.println("密码:"+user.getPassword());
return "redirect:/login.jsp";
}
public static void main(String[] args) {
String str = UUID.randomUUID().toString();
System.out.println(str);
str = UUID.randomUUID().toString();
System.out.println(str);
}
}
第五步,扫描控制器的包
第六步,在spring mvc主配置文件中配置上传文件的解析器
第七步,写注册界面

  注册成功之后要跳转到登录界面,创建登录界面。

spring mvc 实现文件上传的更多相关文章

  1. Spring MVC实现文件上传

    基础准备: Spring MVC为文件上传提供了直接支持,这种支持来自于MultipartResolver.Spring使用Jakarta Commons FileUpload技术实现了一个Multi ...

  2. Spring MVC的文件上传

    1.文件上传 文件上传是项目开发中常用的功能.为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data.只有在这种情况下,浏览器才会把用户 ...

  3. Spring MVC的文件上传和下载

    简介: Spring MVC为文件上传提供了直接的支持,这种支持使用即插即用的MultipartResolver实现的.Spring MVC 使用Apache Commons FileUpload技术 ...

  4. 【Spring学习笔记-MVC-13】Spring MVC之文件上传

    作者:ssslinppp       1. 摘要 Spring MVC为文件上传提供了最直接的支持,这种支持是通过即插即用的MultipartResolve实现的.Spring使用Jakarta Co ...

  5. spring mvc ajaxfileupload文件上传返回json下载问题

    问题:使用spring mvc ajaxfileupload 文件上传在ie8下会提示json下载问题 解决方案如下: 服务器代码: @RequestMapping(value = "/ad ...

  6. 0062 Spring MVC的文件上传与下载--MultipartFile--ResponseEntity

    文件上传功能在网页中见的太多了,比如上传照片作为头像.上传Excel文档导入数据等 先写个上传文件的html <!DOCTYPE html> <html> <head&g ...

  7. Java Web 学习(8) —— Spring MVC 之文件上传与下载

    Spring MVC 之文件上传与下载 上传文件 表单: <form action="upload" enctype="multipart/form-data&qu ...

  8. Spring MVC-学习笔记(5)spring MVC的文件上传、下载、拦截器

    1.文件上传.      spring MVC为文件上传提供了直接的支持,这种支持是即插即用的MultipartResolver(多部分解析器)实现的.spring MVC使用Apache Commo ...

  9. 基于Spring MVC的文件上传和下载功能的实现

    配置文件中配置扫描包,以便创建各个类的bean对象 <context:component-scan base-package="com.neuedu.spring_mvc"& ...

随机推荐

  1. springboot项目war包部署及出现的问题Failed to bind properties under 'mybatis.configuration.mapped-statements[0].

    1.修改pom文件 修改打包方式 为war: 添加tomcat使用范围,provided的意思即在发布的时候有外部提供,内置的tomcat就不会打包进去 <groupId>com.scho ...

  2. 新时代前端必备神器 Snapjs之弹动效果

    有人说不会 SVG 的前端开发者不叫开发者,而叫爱好者.前端不光是 Angularjs 了,这时候再不学 SVG 就晚了!(如果你只会 jQuery 就当我没说...)这里我就给大家分享一个前几天在别 ...

  3. 学会这项python技能,就再也不怕孩子偷偷打游戏了

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:鸟哥 PS:如果想了解更多关于python的应用,可以私信小编,资料 ...

  4. W - Palindrome HDU - 1513

    题目大意: 插入最少的字符,使原字符串成为回文串. 题解: LCS问题,将字符串反转,然后求这俩字符串的LCS,总长度减去LCS即可(多组输入). N最大是5E3,直接用二维数组会超内存.所以要用到滚 ...

  5. F - Robot Motion 栈加BFS

    A robot has been programmed to follow the instructions in its path. Instructions for the next direct ...

  6. mybatis 批量删除

    mapper.xml: <update id="delete" parameterType="int"> delete from user_logi ...

  7. 快速搭建网站信息库(小型Zoomeye)

    前言:本来是不想重复造车轮的,网上资料有开源的fofa,和一些设计.有的架设太复杂了,好用东西不会用,整个毛线.还有的没有完整代码. 设计方案:    测试平台:windows    测试环境:php ...

  8. 4. css事件

    可通过使用css伪类实现点击元素变色的效果,两个伪类是:active, :focus :active :active选择器用于选择活动链接.当在一个链接上点击时,它就会成为活动的(激活的),:acti ...

  9. 图数据库的内部结构 (NEO4j)

    What “Graph First” Means for Native Graph Technology Neo4j是一个具有原生处理(native processing)功能和原生图存储(nativ ...

  10. js获取数组中最大值

    1.es6拓展运算符... Math.max(...arr) 2.es5 apply(与方法1原理相同) Math.max.apply(null,arr) 3.for循环 let max = arr[ ...