springboot实战第四章-SpringMVC的文件上传配置

springboot实战第四章-SpringMVC的文件上传配置

SpringMVC的文件上传

文件上传是一个项目里经常要用到的功能,SpringMVC通过配置一个MultipartResolver来上传文件。

在Spring的控制器中,通过MultipartFile file来接收文件,通过MultipartFile[] files接收多个文件上传。

在这里大概进行5步操作,就可以愉快的实现文件的上传

1.首先添加依赖

这个在第四章开始的时候我已经添加好了,可以简化io的操作

springboot实战第四章-SpringMVC的文件上传配置

2.上传页面,在views下新建upload.jsp页面

springboot实战第四章-SpringMVC的文件上传配置

3.添加转向upload页面的ViewController

 @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/index").setViewName("index");
        registry.addViewController("/toUpload").setViewName("upload");
    }

4.MultipartResolver配置

在这里要注意中文乱码问题,这时候我还没配置全局的字符编码,很容易遇到乱码问题

/**
     * 上传文件配置
     * 注意这里可以设置编码,防止中文乱码
     */
    @Bean
    public MultipartResolver multipartResolver(){
        CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver();
        multipartResolver.setMaxUploadSize(1000000);
        multipartResolver.setDefaultEncoding("UTF-8");
        return multipartResolver;
    }

5.控制器

这里主要是接收到文件后放在磁盘上,可以查看磁盘文件来验证结果

package com.just.springmvc4.controller;

import java.io.File;
import org.apache.commons.io.FileUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController
public class UploadController {
    @RequestMapping(value = "/upload",method = RequestMethod.POST)
    public String uploadFile(MultipartFile file){
        try {
            FileUtils.writeByteArrayToFile(new File("D:\\file\\"+file.getOriginalFilename()),file.getBytes());
            return "all is well";
        }catch (Exception e){
            e.printStackTrace();
            return "wrong";
        }
    }
}

//TODO:这里还没有尝试多文件的上传,有空试下多个文件的上传操作再来展示一波

书接上回,尝试下多文件的上传,很简单,截几张图就能明白

1.jsp里面,采用多个input,每个name都一样,这个是很重要的,因为后端配置的是一个数组,只匹配一个name

springboot实战第四章-SpringMVC的文件上传配置

2.后端controller

springboot实战第四章-SpringMVC的文件上传配置

ok,all done.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100312.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月15日 下午8:00
下一篇 2021年5月15日 下午9:00


相关推荐

  • osi七层模型,什么是tcp/ip协议,tcp与http,UDP的区别,tcp三次握手过程和特点

    osi七层模型,什么是tcp/ip协议,tcp与http,UDP的区别,tcp三次握手过程和特点osi七层模型,什么是tcp/ip协议,tcp与http,UDP的区别,tcp三次握手过程和特点

    2022年4月23日
    56
  • 计算机知识学习网站[通俗易懂]

    计算机知识学习网站[通俗易懂]**第一个:https://www.csdn.net/**首推的肯定是CSDN,虽然放眼望去,互联网上又很多更加优秀的网站,但是对于初学者,英语水平又不高,CSDN绝对是一个很好的选择。这上面有很多关于计算机方面的知识,无论你是要找基础方面的,还是比较有深度的问题,这上面一般都会有解答。**第二个:https://github.com/**github绝对是作为一个从事计算机行业…

    2022年6月19日
    27
  • C PictureBox 图片控件

    C PictureBox 图片控件图片控件中常用的属性如下表所示 图片控件中图片的设置除了可以直接使用 ImageLocatio 属性指定图片路径以外 还可以通过 Image FromFile 方法来设置 实现的代码如下 图片控件的名称 Image Image FromFile 图像的路径 实例 实现图片交换 Form1

    2025年7月7日
    3
  • 音视频传输基本知识[通俗易懂]

    音视频传输基本知识[通俗易懂]音视频传输时的基本步骤:1.发起会话(Sip协议)2.编码(硬件编码、软件编码)3.传输(RTP)4.解码(硬件解码、软件解码)5结束会话(Sip协议)视频格式视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类。尽管后者在播放的稳定性和播放画面质量上可能没有前者优秀,但网络流媒体影像视频的广泛传播性使之正被广泛应用于视频点播、网络演示

    2022年10月3日
    1
  • TCP/ip详解_TCP/IP详解

    TCP/ip详解_TCP/IP详解  TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。…

    2025年7月4日
    3
  • 滑环密封防水等级

    滑环密封防水等级默孚龙生产各种高密封滑环 水下密封 IP68 滑环图纸方案 300 多种 滑环密封包括安装在摩擦侧的标准 O 形环密封和抗摩擦密封 减摩密封圈一般是由实心聚四氟乙烯定制的摩擦密封圈 他还可以定制适合你的密封圈形状 与之匹配的凹槽深度略大于标准尺寸 因为无论是 O 型圈还是滑块密封圈都会由凹槽来维持 这意味着需要使用特殊的密封工具或采用加热膨胀的方法将滑块密封圈延伸到位 冷却状态的尺寸恢复正常 滑环密封环适用于压力高达 400 巴的液压应用 是挡圈的紧凑替代品 由于它们的低摩擦 它们在气动系统的活塞杆和气缸密封圈中也有特殊用

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号