返回

技术分享:前端Vue+后端Eggjs轻松实现文件上传阿里云OSS

前端

1. 准备工作

在开始之前,你需要确保你已经拥有以下内容:

  • 一个阿里云账号
  • 一个前端Vue项目
  • 一个后端Eggjs项目

如果你还没有这些内容,可以参考阿里云官方文档或相关教程来创建它们。

2. 创建阿里云OSS存储桶

登录阿里云控制台,找到OSS服务,点击“创建Bucket”。

在创建Bucket页面,选择你想要创建Bucket的地域,输入Bucket名称,选择存储类型和访问权限,然后点击“创建”。

等待几分钟,你的Bucket就会被创建成功。

3. 安装阿里云OSS SDK

在你的前端Vue项目中,安装阿里云OSS SDK。

npm install @ali-sdk/oss

在你的后端Eggjs项目中,安装阿里云OSS SDK。

npm install egg-oss

4. 配置阿里云OSS SDK

在你的前端Vue项目中,配置阿里云OSS SDK。

import { OSS } from '@ali-sdk/oss';

const client = new OSS({
  accessKeyId: '你的阿里云AccessKeyId',
  accessKeySecret: '你的阿里云AccessKeySecret',
});

在你的后端Eggjs项目中,配置阿里云OSS SDK。

const oss = require('egg-oss');

app.oss = oss({
  accessKeyId: '你的阿里云AccessKeyId',
  accessKeySecret: '你的阿里云AccessKeySecret',
  bucket: '你的阿里云OSS存储桶名称',
});

5. 实现文件上传

在你的前端Vue项目中,实现文件上传。

const uploadFile = (file) => {
  client.putObject({
    Bucket: '你的阿里云OSS存储桶名称',
    Key: '你的文件路径',
    Body: file,
  }).then((result) => {
    console.log('文件上传成功');
  }).catch((err) => {
    console.log('文件上传失败');
  });
};

在你的后端Eggjs项目中,实现文件上传。

const uploadFile = async (ctx) => {
  const file = ctx.request.files[0];
  const result = await ctx.oss.put(file.filename, file.filepath);
  ctx.body = {
    code: 0,
    message: '文件上传成功',
    data: {
      url: result.url,
    },
  };
};

6. 测试文件上传

在你的前端Vue项目中,测试文件上传。

<input type="file" @change="uploadFile">

在你的后端Eggjs项目中,测试文件上传。

app.post('/upload', uploadFile);

现在,你就可以轻松地实现文件上传阿里云OSS了。希望这篇文章对你有帮助。

7. 总结

在这篇文章中,我向你展示了如何在前端Vue和后端Eggjs的配合下,轻松实现文件上传阿里云OSS。这是一个非常实用的技术,可以帮助你轻松地将文件上传到阿里云OSS,并提供安全可靠的文件存储和管理服务。希望对你的项目开发有所帮助!

如果您还有其他问题,可以随时与我联系。