springboot前后端分离项目MultipartFile获取前端传的file为null问题

【问题描述】

springboot+vue 前后端分离项目,在对接上传文件功能时,一直显示文件为空。
在这里插入图片描述

【分析】

查找了很多博客,解决方法五花八门,但原因应该还是 springboot自带的org.springframework.web.multipart.MultipartFile和Multipart冲突。
所以使用 @EnableAutoConfiguration 注解的exclude属性 进行排除。

【解决方法】

亲测有效!!!
代码如下:

@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
public class UploadConfig {
    @Bean(name = "multipartResolver")
    public MultipartResolver multipartResolver() {
        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
        resolver.setDefaultEncoding("UTF-8");
        resolver.setResolveLazily(true);
        resolver.setMaxInMemorySize(40960);
        //上传文件大小 
        resolver.setMaxUploadSize(5 * 1024 * 1024);
        return resolver;
    }
}

在这里插入图片描述

Spring Boot前后端分离项目中,实现文件上传接口可以这样做: 1. 在后端(服务器端)创建一个处理文件上传的Controller类,该类使用`@RestController`注解标识为一个RESTful接口。在该Controller中,使用`@PostMapping`注解标识一个处理POST请求的方法,该方法用于处理文件上传操作。 2. 在该处理方法的参数列表中,使用`@RequestParam`注解指定接收文件数据的变量名,并定义为`MultipartFile`类型。这样就可以接收前端发送的文件数据了。 3. 在方法体中,可以对接收到的文件数据进行处理。比如,可以通过`MultipartFile`对象的`getOriginalFilename()`方法获取文件的原始文件名,再通过其`getInputStream()`方法获取文件的字节流数据。 4. 可以根据业务需求对文件进行一些处理操作。比如,将文件保存到服务器的某个目录下,可以使用`File`对象的相关方法,如`createNewFile()`方法创建文件、`getAbsolutePath()`方法获取文件的绝对路径等。 5. 上述处理完成后,可以返回一些处理结果给前端,比如文件的保存路径、上传成功与否的标识等信息。 需要注意的是,在前端进行文件上传时,需要使用`FormData`对象来封装文件数据和其他表单数据,再通过`XMLHttpRequest`对象或其他方式发送到后端处理。 此外,还应该考虑文件上传的安全性和性能方面的优化,比如限制文件大小、文件类型校验、文件存储路径的管理等细节问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值