1、npm i ali-oss安装阿里云sdk
2、上阿里云对象存储设置跨域访问
- 进入 OSS 管理控制台 界面。
- 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。
- 单击 基础设置 页签,找到 跨域设置 区域,然后单击 设置。
- 单击 创建规则,打开 设定跨域规则 对话框。
-
设置跨域规则:
– 来源:指定允许的跨域请求的来源。允许多条匹配规则,以回车为间隔。每个匹配规则允许使用最多一个“
”通配符。
– 允许 Methods:指定允许的跨域请求方法。
– 允许 Headers:指定允许的跨域请求 header。允许多条匹配规则,以回车为间隔。每个匹配规则使用最多一个“
”通配符。
– 暴露 Headers:指定允许用户从应用程序中访问的响应头(例如一个 Javascript 的 XMLHttpRequest 对象)。
– 缓存时间:指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间。
– 说明: 每个存储空间最多可以配置 10 条规则。
3、需要获取到一些秘钥和基础的信息
我这里是通过后台返回的一个临时秘钥,获取的
下面是封装的一个方法
const OSS = require('ali-oss');
import commonApi from '@/api/messageCenter/common'
export default function UploadVideo(file) {
//获取临时秘钥信息
return commonApi.queryAliYunSts().then((res) => {
let client = new OSS({
region: 'oss-cn-beijing',// region填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
bucket: 'spacebusiness', // 填写Bucket名称。
accessKeyId: res.data.accessKeyId,// 从STS服务获取的临时访问凭证。临时访问凭证包括临时访问密钥(AccessKeyId和AccessKeySecret)和安全令牌(SecurityToken)。
accessKeySecret: res.data.accessKeySecret,
stsToken: res.data.securityToken,
expiration: res.data.expiration,
// secure: true,
});
// 支持File对象、Blob数据以及OSS Buffer。
// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
// 填写上传的内容。
//const data = new Blob('Hello OSS');
// 填写上传的内容。
//const data = new OSS.Buffer('Hello OSS');
try {
// 可以通过自定义文件名(例如exampleobject.txt)或目录(例如mytestdoc/exampleobject.txt)的形式实现将文件上传到当前Bucket或Bucket中的指定目录。
return client.put(file.name, file);
} catch (e) {
console.log(e);
}
})
}
4、返回信息
附上官方文档:https://help.aliyun.com/document_detail/64047.htmlspm=a2c4g.11186623.6.1219.1df323f29m2ILz
版权声明:本文为weixin_44730897原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。