ElementuiPlus文件上传失败原因,一个小坑记录!

记录一个自己犯得错误,一定记住要前后端file名字对应上!

原后端代码

java 复制代码
@RestController
@RequestMapping("/upload")
public class UploadFileController {
    @PostMapping
    public Result upload(MultipartFile multipartFile) throws IOException {
        System.out.println("hhh"+multipartFile);
//        原始文件名
        String originFileName = multipartFile.getOriginalFilename();
//        名字重组
        String filename = UUID.randomUUID().toString().substring(1, 6) + originFileName.substring(originFileName.lastIndexOf("."));
//        使用阿里云工具类上传,返回一个url地址
        String url = AliOssUtil.uploadFile(filename, multipartFile.getInputStream());
        return Result.success(url);
    }
}

原前端组件代码

java 复制代码
                <el-col :span="8">
                    <el-upload class="avatar-uploader" :show-file-list="false" :auto-upload="true" action="/api/upload"
                         name="file" :headers="{ 'Authorization': tokenStore.token }" :on-success="uploadSuccess">
                        <img v-if="imgUrl" :src="imgUrl" class="avatar" />
                        <img v-else src="@/assets/avatar.jpg" width="150px" height="150px" />
                    </el-upload>
                </el-col>

由于自己写的时候没注意到,·< el-upload> ·组件这里的name属性已经复制了名字为"file",也就是我们上传文件后,文件给后端时候,名字是file,后端要去拿这个文件的话,就会使用的MultipartFile,后端这里必须也是file名字命名。

所以前后端只要file名字一致即可

方法一、@RequestParam("file")注解明确前端名字file

java 复制代码
 public Result upload(@RequestParam("file") MultipartFile multipartFile) throws IOException

方法二、 不用获取前端信息的注解,将MultipartFile对象名字为file也是可以的

java 复制代码
public Result upload(MultipartFile file) throws IOException

记录一下MultipartFile 的知识点

MultipartFile 它是 Spring Framework 提供的一个接口,用于表示通过 HTTP 请求上传的文件数据。MultipartFile 接口提供了一些常用的方法,用于获取文件的相关信息和操作文件数据。以下是一些常用的方法:

  • getOriginalFilename():获取上传文件的原始文件名。
  • getBytes():将文件内容作为字节数组返回。
  • getSize():获取文件的大小。
  • getInputStream():获取文件内容的输入流。
  • transferTo(File dest):将上传的文件保存到指定的目标文件中。
相关推荐
计算机学姐2 小时前
基于微信小程序的高校班务管理系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
一路向北⁢2 小时前
基于 Apache POI 5.2.5 构建高效 Excel 工具类:从零到生产级实践
java·apache·excel·apache poi·easy-excel·fast-excel
毕设源码-赖学姐5 小时前
【开题答辩全过程】以 基于Android的校园快递互助APP为例,包含答辩的问题和答案
java·eclipse
damo015 小时前
stripe 支付对接
java·stripe
麦麦鸡腿堡6 小时前
Java的单例设计模式-饿汉式
java·开发语言·设计模式
假客套6 小时前
Request method ‘POST‘ not supported,问题分析和解决
java
傻童:CPU6 小时前
C语言需要掌握的基础知识点之前缀和
java·c语言·算法
爱吃山竹的大肚肚6 小时前
@Valid校验 -(Spring 默认不支持直接校验 List<@Valid Entity>,需用包装类或手动校验。)
java·开发语言
雨夜之寂7 小时前
mcp java实战 第一章-第一节-MCP协议简介.md
java·后端
皮皮林5517 小时前
蚂蚁又开源了一个顶级 Java 项目!
java