aplus-oss
v1.0.5
Published
aplus use ali-oss
Downloads
216
Readme
APLUS OSS
Rebuild ali-oss javascript sdk that provie private sts server methods
Quick start
//add -w in you root folder
pnpm install aplus-oss -S -w
Usage example
//register client instance
import { client } from 'aplus-oss'
//some code in you project
import { you_STS_server } from '@/api/sts'
//init oss access token
const ossIntsance = client.initOssClient({
you_STS_server,
onFailure: err => {
console.warn('get oss accessSerct fail', err)
}
})
//after init
//you can use ossIntsance do something
ossIntsance.put(..)
ossIntsance.getSignatureUrl(..)
ossIntsance.downloadFile(..)
ossIntsance.deleteFile(..)
ossIntsance.pauseUpload(...)
// upload image or vedio with oss
// your can use put method to upload
const result = await client.put({
fileName: file.name,
dirName: 'Vedio',
data: file,
progressCallBack: (p: number) => {
percentVeido.value = p
},
//the number of parts to be uploaded in parallel
parallel: 6,
//the suggested size for each part, defalut 1024 * 1024(1MB), minimum 100 * 1024(100KB)
partSize: 1024 * 1024
})
if (result.status === 200) {
const { status, previewUrl, saveUrl } = result
console.log('status---', status)
console.log('previewUrl---', previewUrl)
console.log('saveUrl---', saveUrl)
} else {
//failure
console.log(result.message)
}
//you can use download method to download
let res = client.downloadFile(fileName)
console.log(res.message)
console.log(res.status)
//you can get signature url to perview with getSignatureUrl method
let signatureUrl = client.getSignatureUrl(pathName)
//get signature url
//after expires seconds, the url will become invalid, default is 3600s
console.log(signatureUrl)
//delete file
let res = await client.deleteFile(pathName)
console.log(res)
//pauseUpload
let res = = await client.pauseUpload()
console.log(res)
Methods
initOssClient
type: initOssClient(options: ResquestOssOptions): Promise<Oss>;
tips: register client instance with you sts server
ResquestOssOptions
| props | type | default | directions |
| --- | --- | --- | --- |
| getOssAccess | () => Promise<accessCreate>
| - | init oss access token |
| onFailure | (err: any) => void
| - | get oss accessSerct fail |
put
type: put({ fileName, dirName, data, progressCallBack, parallel, partSize }: uploadParams): Promise<actionResponse>;
tips: you can put image vedio with put core method
options
| Props | Type | default | explanation |
| --- | --- | --- | --- |
| fileName | string
| - | file Name |
| dirName | string
| - | upload folder name |
| data | File
| - | upload data |
| progressCallBack | (p:number) => void
| - | upload progress |
| parallel | number
| 6 | the number of parts to be uploaded in parallel |
| partSize | number
| 1024*1024(1M) | the suggested size for each part, defalut 1024 _ 1024(1MB), minimum 100 _ 1024(100KB) |
actionResponse
| Props | Type | default | explanation |
| --- | --- | --- | --- |
| status | number
| - | status code(success 200 ,other will be fail) |
| previewUrl | string
| - | preview file url,you can preview image or vedio after uploaded|
| saveUrl | string
| - |your backend server wille be save this path|
| message | string
| - |success message or fail message|
downloadFile
type: downloadFile(savePathName: Array<string> | string): Promise<actionResponse>;
tips: dowload file with downloadFile method (support multiple download files)
options
| Props | Type | default | explanation |
| --- | --- | --- | --- |
| savePathName | Array<string> \| string
| - | if mutipart download will be arrary,single file download wille be string |
actionResponse
| Props | Type | default | explanation |
| --- | --- | --- | --- |
| status | number
| - | status code(success 200 ,other will be fail) |
| previewUrl | string
| - | preview file url,you can preview image or vedio after uploaded|
| saveUrl | string
| - |your backend server wille be save this path|
| message | string
| - |success message or fail message|
getSignatureUrl
type: getSignatureUrl(name: string, expires?: number): Promise<string>;
tips: get signature url to perview
options
| Props | Type | default | explanation |
| ------- | -------- | ------- | -------------- |
| name | string
| - | file path name |
| expires | number
| 3600(s) | expires time |
deleteFile
type: deleteFile(savePathName: string): Promise<{status: any;message: string;} | undefined>;
tips: delete oss file options
| Props | Type | default | explanation |
| ------------ | -------- | ------- | -------------- |
| savePathName | string
| - | file path name |
pauseUpload
type: pauseUpload(): Promise<{status: number;message: globMessage;}>
tips: pause upload