• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

云开发 云存储:上传、下载、CDN 地址、删除文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前面章节分享了云函数、数据库,基本上可以完成一个简单应用开发了。但是一款应用应该还会有图片、视频之类的,那么这些数据存放在哪呢?那就是云存储。云存储每个云厂商的叫法不一样,有的叫 OSS、有的叫 COS。

我们打开腾讯云云开发控制台,如下图是云开发的云存储界面。

云存储的作用或者说能力有:

  • 可以设置访问权限,比如公开图片或者私人相册,可以点击【权限设置】进行设置;
  • 可以作为图片上传的图床,比如存放 icon 、image、svg......
  • 可以作为一些素材或者物料仓库,例如存放 pdf、word、excel......
  • 云开发的云存储默认是 CDN 加速的;

下面的环节,都是在云函数的基础上操作的,假如对云函数不了解,可以阅读编写第一个云函数

上传文件

我们可以使用 云开发 Node.js SDK,在云函数中进行图片的上传。

'use strict';
const tcb = require("tcb-admin-node")
const fs = require("fs")
const app = tcb.init({
  env: '你的环境 ID'
})


exports.main = async (event, context) => {

    
    // uploadFile 上传文件
    let data = await app.uploadFile({
        cloudPath: "/test-00001.jpg",
        // fileContent: buffer 或要上传的文件可读流
        // 后续会将更简单的方法,在前端直接通过 JS-SDK 上传
        fileContent: fs.createReadStream('./test.png') 
    })


    return {
        status: 1,
        file_id: res.fileID
    }


}

下载文件

有了文件上传,就有文件的下载动作。

'use strict';
const tcb = require("tcb-admin-node")
const fs = require("fs")
const app = tcb.init({
  env: '你的环境 ID'
})


exports.main = async (event, context) => {


  // downloadFile 下载图片
  let res = await app.downloadFile({
    fileID: '云存储中文件的 fileID',
  })


  // fileContent 类型为 Buffer
  return res.fileContent
}

获取文件的 CDN 访问路径

一般情况,手动上传的文件,都可以复制到 CDN 的访问链接。但是如果是代码大批量上传的,我们可以写程序获取,例如获取用户的头像。



const tcb = require('tcb-admin-node')


const app = tcb.init({
  env: '你的环境 ID'
})


exports.main = async (event, context) => {


  // getTempFileURL 获取 CDN 访问地址
  let res = await app.getTempFileURL({
    // fileID 数组
    fileList: ['fileID-1', 'fileID-2']
  })


  res.fileList.forEach(item => {
    // 打印文件访问链接
    console.log(item.tempFileURL) 
  })


}

删除文件

删除文件也比较简单。

const tcb = require('tcb-admin-node')


const app = tcb.init({
  env: '你的环境 ID'
})


exports.main = async (event, context) => {


  // deleteFile 删除文件
  let res = await app.deleteFile({
    fileList: [
        'cloud://a/b/c',
        'cloud://d/e/f'
    ]
  })


  return res.fileList


}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
云开发 静态网站部署怎么玩发布时间:2022-02-03
下一篇:
云开发 数据库 CRUD发布时间:2022-02-03
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap