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

第一步,创建项目 ,导入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. AJ学IOS(23)UI之控制器管理

    AJ分享,必须精品 控制器以及view的多种创建方式 控制器view的加载 通过storyboard创建 1:先加载storyboard⽂件(Test是storyboard的⽂文件名) UIStory ...

  2. AJ学IOS(04)UI之半小时搞定Tom猫

    AJ分享 必须精品  效果图 曾经风靡一时的tom猫其实制作起来那是叫一个相当的easy啊 功能全部实现,(关键是素材,没有素材的可以加我微信) 新手也可以很快的完成tom这个很拉轰的ios应用哦 然 ...

  3. android29之UI控件的抽屉式实现方法之一(DrawerLayout和NavigationView)

    添加依赖 implementation 'com.google.android.material:material:1.2.0-alpha06' 在Layout中创建两个Xml布局文件,header. ...

  4. 安装JDK后,未设置Path,也能执行java.exe的原因

    安装JDK时,自动将java.exe复制到C:\Windows\System32下

  5. python操作MySQL数据库报错问题解决

    编写好Python操作数据库的脚本后,运行报错如下: 报错1:“AttributeError: 'NoneType' object has no attribute 'encoding'” 解决办法: ...

  6. Websocket直播间聊天室教程 - GoEasy快速实现聊天室

    最近两年直播那个火啊,真的是无法形容!经常有朋友问起,我想实现一个直播间聊天或者我想开发一个聊天室, 要如何开始呢? 今天小编就手把手的教你用GoEasy做一个聊天室,当然也可以用于直播间内的互动.全 ...

  7. Python 七步捉虫法

    了解一些技巧助你减少代码查错时间. -- Maria Mckinley 在周五的下午三点钟(为什么是这个时间?因为事情总会在周五下午三点钟发生),你收到一条通知,客户发现你的软件出现一个错误.在有了初 ...

  8. 常见分布式全局唯一ID生成策略

    全局唯一的 ID 几乎是所有系统都会遇到的刚需.这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义.工业上有多种策略来获取这个全局唯一的id,针对常见的几种场景,我在这里进行 ...

  9. Python之小型信息管理系统

    #Author:msq #Time:2019/11/16 import re import os filename = "person.txt" def menu(): #输出菜单 ...

  10. 新的知识点来了-ES6 Proxy代理 和 去银行存款有什么关系?

    ES给开发者提供了一个新特性:Proxy,就是代理的意思.也就是我们这一节要介绍的知识点. 以前,ATM还没有那么流行的时候(暴露年纪),我们去银行存款或者取款的时候,需要在柜台前排队,等柜台工作人员 ...