用于阿里云 OSS 采用服务端签名后 WEB 直传。 项目地址
安装
1
| npm install aliyun-oss-upload
|
初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| var ossUpload = new OssUpload({ dir: 'datas/imgs', expiration: 120000, randomName: true, successActionStatus: 200 signatureGetter () { return httpFetch.get('/oss_signature') }, uploader (formData) { return httpFetch.post('http://xxx.oss-cn-shenzhen.aliyuncs.com', formData) } })
|
关于 signatureGetter
该方法返回的 Promise,resolve 的对象至少需要包含 policy,accessId,signature。形如:
1 2 3 4 5
| { policy: 'policy', accessId: 'OSSAccessKeyId', signature: 'signature' }
|
开始上传
1 2 3
| ossUpload.post(file, [cacheKey]).then((result) => { console.log(result) })
|
cacheKey
用于缓存文件请求。你可以传一个唯一标志来区分你要上传的文件,这样当插件检测到上传的是同一个文件时,会直接复用之前的请求
一般用在上传图片的时候,使用图片的 base64 码来作为唯一标志再好不过了
Result对象:
1 2 3 4
| { path: '已上传的文件路径("/" + options.dir + "/" + FileName)', data: '配置中uploader方法的返回值' }
|
其他