Laf结合七牛云对象存储轻松实现文件上传

一、什么是七牛云?

七牛云是国内领先的以视觉智能和数据智能为核心的企业级云计算服务商,同时也是国内知名智能视频云服务商,累计为 70 多万家企业提供服务,覆盖了国内80%网民。围绕富媒体场景推出了对象存储、融合 CDN 加速、容器云、大数据平台、深度学习平台等产品、并提供一站式智能视频云解决方案。为各行业及应用提供可持续发展的智能视频云生态,帮助企业快速上云,创造更广阔的商业价值。
简而言之就是一家提供网上存储的服务商,实名认证可以获取10G免费空间,对于小型网站存储图片文档已经够了,最主要的是可以减轻你服务器的压力,加快网页加载速度,隐藏真实IP等,好处不用多说,直接上教程。

二、前期准备

1.七牛云注册
进入七牛云官网进行注册,地址:https://www.qiniu.com/
在这里插入图片描述
2.获取密钥
完成注册后登录七牛云并进入控制台,在右上角头像处下拉选择【密钥管理】获取AccessKey和SecretKey
在这里插入图片描述
3.新建空间
选择【对象存储】下的【空间管理】,点击“新建空间”按钮
在这里插入图片描述
完成后点击“空间名称”会跳转到“空间概览”界面,如下图:
在这里插入图片描述
域名管理:若需要接入自己已备案好的域名,可以在【域名管理】中进行配置,具体如何配置可参考链接 https://developer.qiniu.com/fusion/1322/how-to-configure-cname-domain-name
在这里插入图片描述
在这里插入图片描述

三、在Laf中接入七牛云

登录Laf云开发平台,在应用列表中选择一个应用后点击【开发】按钮,进入Laf应用开发IDE
在这里插入图片描述
在这里插入图片描述
1.添加NPM依赖
点击左下角【NPM依赖】处的“+”按钮,在弹框中搜索“qiniu”,选中第一个后再点击“保存并重启”,等待3秒左右依赖会添加完成
在这里插入图片描述
2.添加函数
点击左上角【函数列表】处的“+”按钮,在弹框中输入函数名(比如:file-upload),其他默认,完成后点击“确认”按钮,等待3秒左右函数会添加完成
在这里插入图片描述
在这里插入图片描述
说明:关于云函数的入门,可点击 https://doc.laf.run/guide/function/ 链接了解详情
3. 云函数完整代码
1)云函数“file-upload”完整代码如下:

import cloud from '@lafjs/cloud'
import {
    QiniuStore } from '@/qiniu-store'

const fs = require("fs")

export default async function (ctx: FunctionContext) {
   
  const _body = ctx.body;
  const _query = ctx.query;
  const _type = _body.type ? _body.type : _query.type;
  //参数校验
  if (!_type) {
   
    return resultData(-1, '参数type不能为空!');
  }

  const _files = ctx.files;
  switch (_type) {
   
    case 'uploadFile':
      // 上传文件
      return await uploadFile(_files);
    default:
      return resultData(-1, '请检查参数type是否有误!');
  }
}

// 上传文件
async function uploadFile(files) {
   
  console.log('uploadFile->files', files);

  const _files = files;
  //参数校验
  if (!_files || _files.length == 0) {
   
    return resultData(-1, '未上传文件!');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值