博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web端接入AliOss存储
阅读量:6358 次
发布时间:2019-06-23

本文共 2295 字,大约阅读时间需要 7 分钟。

1、快速开始,安装

npm安装:        npm install ali-oss直接引入:        本地引入:        

2、Bucket设置:(这步需要登录到oss管理系统配置)设置http请求方式。

3、获取token

      因为我们项目是即时通讯 所以 通过socket cmd方式获取,具体与后台沟通

4、上传文件

    • 上传blob数据
    • 断点上传
/** * web端阿里云上传 * @param  {Object} files 上传资源 * @param  {Object} result token * @return {Object} */retryAliUpSend: (files, result) => {    let client = new OSS({        accessKeyId: result.AccessKeyId,        accessKeySecret: result.AccessKeySecret,        stsToken: result.SecurityToken,        endpoint: result.endpoint,        bucket: result.bucket,        secure: true    });    // 上传命名=>自定义命名规则    const aliObjName = 'test001';    // storeAs表示上传的object name , file表示上传的文件    client.multipartUpload(aliObjName, files).then(function (result) {        // 上传成功结果    }).catch(function (err) {        上传失败    });},

5、复制文件

      复制部分,web端无api文档,需通过查看源码找到复制方法

      > aliObjName >> 新上传的key & filename

      > sourceName >> oss存储内存已存在的key & filename

/*** web端阿里云复制* @param  {Object} sourceName 需要复制的key* @param  {Object} aliObjName 上传命名(key)* @param  {Object} result token* @return {Object}*/aliUpCopy: (sourceName,aliObjName,result) => {    let client = new OSS({        accessKeyId: result.AccessKeyId,        accessKeySecret: result.AccessKeySecret,        stsToken: result.SecurityToken,        endpoint: result.endpoint,        bucket: result.bucket,        secure: true    });    // 复制文件    client.copy(aliObjName, sourceName, {}).then(function (result) {            }).catch(function (err) {            });},

6、下载文件

/** * 下载 * @param  {Object} URL objkey 即上传命名,阿里云oss上存储的文件名 * @param  {Object} resize 需要限制下载的图片尺寸,可自定义 * @return {Object} */downLoadAliUrl: (URL, resize) => {    // 获取cookie存储的token    let aliOssMsg;    if (utils.getCookie('setAliOssToken')) {        aliOssMsg = JSON.parse(utils.getCookie('setAliOssToken'));    }    let client = new OSS({        accessKeyId: aliOssMsg.AccessKeyId,        accessKeySecret: aliOssMsg.AccessKeySecret,        stsToken: aliOssMsg.SecurityToken,        endpoint: aliOssMsg.endpoint,        bucket: aliOssMsg.bucket,        secure: true    });    // 下载文件    const result = client.signatureUrl(URL, {process: resize});    return result;}

ps: 

a、token有时效性,考虑token是否实时获取

b、文件下载,下载视频或音频不能带resize

c、bucket,区分环境、域名。

*考虑不全,可查看官方api文档

地址:

转载于:https://www.cnblogs.com/CaktyRiven/p/10542297.html

你可能感兴趣的文章
14.15. CentOS 网络配置
查看>>
Socket 专题
查看>>
[20160923]取出备份集的archivelog文件.txt
查看>>
.Net程序员安卓学习之路6:等待条
查看>>
使用 CodeIgniter 框架快速开发 PHP 应用(六)
查看>>
上云过等保之数据库审计产品如何选购?
查看>>
如何用机器学习对文本分类
查看>>
HBase-1.2.4LruBlockCache实现分析(二)
查看>>
The computation of homography, essential and fundamental matrix
查看>>
自动驾驶离我们还有多远?
查看>>
最重要,最常用和有用的Linux命令大集合
查看>>
不忘初码,聚栈前行
查看>>
spring:如何用代码动态向容器中添加或移除Bean ?
查看>>
Moving to Docker(二)搭建一个私有registry服务
查看>>
开发者可以使用Docker做什么?
查看>>
网络监控神器!这7大免费开源工具可别错过
查看>>
高德地图POI升维 打通阿里电商数据
查看>>
CloudCC神州云动带领首批合作伙伴步入CRM生态
查看>>
中国人工智能学会通讯——构建强健的人工智能:原因及方式 4. 检测异常
查看>>
网安事故屡禁不止 四大因素不容忽视
查看>>