SpringBoot企业级开发之【文件上传】

发布于:2025-05-07 ⋅ 阅读:(12) ⋅ 点赞:(0)

看一下我们的需求:

接口文档:

分析思路:

现在我们先实现后端先:

实操:

一.存储到本地磁盘:

1.Controller

创建一个FileUploadController类

package org.huangyingyuan.controller;

import org.huangyingyuan.pojo.Result;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@RestController
public class FileUploadController {

    @PostMapping("/upload")
    public Result<String> upload(MultipartFile file)throws IOException {
        //把文件的名字存储到本地磁盘上
        String originalFilename = file.getOriginalFilename();
        //保证文件的名字是唯一的,从而防止文件覆盖(设置一个UUID作为文件名然后加上原文件名的后缀)
        String fileName= UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));
        //本地文件的存储地址
        file.transferTo(new File("E:\\Big_event_file"));
        return Result.success("访问成功......");
    }
}

2.测试成功

二.存储到腾讯云CSS

我们将这么多的文件直接存储在我们的电脑下,会导致我们的电脑出现磁盘爆满、别人无法直接访问等问题、那么我们就要将文件上传到云端才能解决这个问题。

什么是云?

云服务:

操作:

腾讯云-使用步骤:

1.创建账号

省略

2.创建存储桶

创建成功:

3.创建访问密钥(Access key)

4.查看SDK文献

我们了解一下关于JAVA的sdk是如何配置操作的:

SDK 中心 Java_腾讯云

4.1导入依赖
<!--腾讯云COS对象存储SDK-->
    <dependency>
      <groupId>com.qcloud</groupId>
      <artifactId>cos_api</artifactId>
      <version>5.6.54</version>
    </dependency>
4.2创建test测试类

记得替换掉里面你自己的信息


package org.huangyingyuan;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.model.PutObjectRequest;
import com.qcloud.cos.region.Region;
import java.io.File;

public class OSS_Demo {

    public static void main(String[] args) {
        // 1. 初始化用户身份信息
        String secretId = "你的SecretId";
        String secretKey = "你的SecretKey";
        COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);

        // 2. 设置 bucket 所在的区域
        Region region = new Region("ap-guangzhou"); // 替换成你的地域
        ClientConfig clientConfig = new ClientConfig(region);

        // 3. 创建 COS 客户端
        COSClient cosClient = new COSClient(cred, clientConfig);

        // 4. 指定上传文件
        String bucketName = "mybucket-12345678"; // 替换为你的 Bucket
        String key = "upload/test.jpg";          // 存储在 COS 中的路径
        File localFile = new File("C:/Users/you/Desktop/test.jpg");

        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
        cosClient.putObject(putObjectRequest);

        System.out.println("上传成功!");

        // 5. 关闭客户端
        cosClient.shutdown();
    }
}

5.上传成功:

直接启动项目

我们检查一下储存桶里面有没有照片:

有的 兄弟 有的,说明案例成功


网站公告

今日签到

点亮在社区的每一天
去签到