返回

如何将SpringBoot+Vue上传图片轻松保存到阿里云OSS上

后端

在当今互联网时代,图片在我们的生活中扮演着越来越重要的角色。无论是社交媒体、电子商务还是企业网站,都离不开图片的展示。因此,如何将图片存储和管理成为一个至关重要的问题。阿里云OSS作为一款专业、可靠、安全的对象存储服务,为我们提供了存储和管理图片的最佳解决方案。

准备工作

  1. 注册阿里云账号并开通OSS服务。
  2. 创建一个新的OSS存储空间(Bucket)。
  3. 获取OSS的Access Key ID和Access Key Secret。
  4. 安装SpringBoot和Vue。

配置

在SpringBoot项目中添加如下依赖:

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>2.8.3</version>
</dependency>

在Vue项目中添加如下依赖:

import OSS from 'ali-oss';

编码

在SpringBoot项目中创建如下代码:

import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.PutObjectRequest;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

@RestController
public class FileController {

    @PostMapping("/upload")
    public String upload(@RequestParam("file") MultipartFile file) {
        // 创建OSSClient实例。
        OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

        // 创建PutObjectRequest实例。
        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, file.getInputStream());

        // 上传文件。
        ossClient.putObject(putObjectRequest);

        // 关闭OSSClient。
        ossClient.shutdown();

        return "success";
    }
}

在Vue项目中创建如下代码:

import OSS from 'ali-oss';

const client = new OSS({
    region: 'oss-cn-shanghai',
    accessKeyId: 'LTAI5t***',
    accessKeySecret: '**** **** ',
    bucket: 'my-bucket'
});

client.put('my-object', file).then((result) => {
    console.log(result);
}).catch((err) => {
    console.log(err);
});

测试

  1. 启动SpringBoot项目和Vue项目。
  2. 在浏览器中打开Vue项目的主页。
  3. 选择要上传的图片,然后点击“上传”按钮。
  4. 查看阿里云OSS控制台,确认图片是否已上传成功。

结语

通过本教程,我们学习了如何使用SpringBoot和Vue将图片上传到阿里云OSS。希望本教程对您有所帮助。如果您有任何问题,欢迎随时提问。