12345678910111213141516171819202122232425262728293031323334353637 |
- import OSS from "ali-oss";
- import Parse from "parse";
- export class ProvierOssAli{
- client:OSS|undefined
- async initClient(){
- if(this.client) return
- // 获取STS临时口令
- let result:any = await Parse.Cloud.run("aliOssSTS");
- this.client = new OSS({
- // yourRegion填写Bucket所在地域。以华东1(杭州)为例,yourRegion填写为oss-cn-hangzhou。
- region: "oss-cn-beijing",
- // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
- accessKeyId: result?.AccessKeyId,
- accessKeySecret: result?.AccessKeySecret,
- // 从STS服务获取的安全令牌(SecurityToken)。
- stsToken: result?.SecurityToken,
- // 填写Bucket名称。
- bucket: result?.ALI_OSS_BUCKET || "hep-textbook",
- });
- }
- constructor(){
- }
- async upload(file:File,onProcess:Function){
- await this.initClient();
- let now = new Date();
- let fname = `${Parse.User.current()?.id}/${now.getFullYear()}-${now.getMonth()+1}-${now.getDate()}/${now.getTime()}-${file?.name}`;
- const r1 = await this.client?.put(fname, file);
- console.log(file)
- console.log('put success: %j', r1);
- return r1
- }
- }
|