Appearance
Alioss
介绍
Alioss工具类,支持文件、base64数据上传
安装
sh
pnpm i @trinasolar/utils
示例
ts
import { OSS } from '@/utils/alioss/index.ts';
export default {
props: {},
data() {},
setup() {
// 获取alioss参数信息
const res = await aliyunOssAPI()
const { bucket, endpoint, accessKeyId, accessKeySecret, stsToken } = res
const ossParmas = {
region: 'oss-cn-shanghai',
bucket,
endpoint,
accessKeyId,
accessKeySecret,
stsToken,
}
const ossOwnner = new OSS(ossParmas)
// base64数据上传
const base64Data = 'data:'image/jpeg';base64,xxxxxxxxxxxxxx'
const base64Result = await ossOwnner.upload({ type: 'base64', payload: base64Data })
console.log('返回生成的链接 ','base64Result.url')
// File数据上传
const file = new File()
const fileResult = await ossOwnner.upload({ type: 'file', payload: file })
console.log('返回生成的链接 ','fileResult.url')
},
};
API
初始化
ts
const oss = new Alioss(options, future?)
options
| 参数 | 必传 | 说明 | 类型 | 默认值 |
|---|---|---|---|---|
| region | 是 | Bucket所在地域,示例:'oss-cn-hangzhou' | string | '' |
| bucket | 是 | 存储空间名称,示例:'my-bucket-name' | string | '' |
| endpoint | 是 | 访问域名,示例:'oss-cn-shanghai.aliyuncs.com' | string | '' |
| stsToken | 否 | 临时授权 | string | undefined |
| secure | 否 | 协议类型(HTTPS:true,HTTP:false) | boolean | true |
| expiration | 否 | 过期时间 | string | getExpiration() |
| accessKeyId | 是 | 秘钥 OSS_ACCESS_KEY_ID | string | '' |
| accessKeySecret | 是 | 秘钥 OSS_ACCESS_KEY_SECRET | string | '' |
| env | 否 | 运行环境('test'、'prod') | string | 'test' |
future(可选)获取AliossOptions方法
上传
ts
const {name, url} = oss.upload({ type = 'file', payload })
| 参数 | 必传 | 说明 | 类型 | 默认值 |
|---|---|---|---|---|
| type | 否 | 上传类型('file'、'base64') | string | 'file' |
| payload | 是 | 上传内容,由type决定(flie:File(),base64:base64数据) | File或string | '' |
| 参数 | 说明 | 类型 |
|---|---|---|
| url | 返回得链接,可直接用于预览 | string |
| name | 文件名 | string |
其他
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
| getExpiration | 获取过期时间 | () | string |