oss-multipart-uploader.js
Version:
aliyun oss upload component powered by simple-uploader.js(dolymood <dolymood@gmail.com>)
74 lines (57 loc) • 2.18 kB
Markdown
# simple-oss-uploader.js
**oss-multipart-uploader.js**基于[simple-uploader.js](https://github.com/simple-uploader/Uploader)改造,用于阿里云OSS分片上传前端组件
## 特性
* 和后端接口配合,防止阿里云OSS的`access-key`和`access-secret`配置于前端代码,后端代码请参考[demo-oss](https://gitee.com/xwxsee/demo-oss)
* 更多特性请参考[simple-uploader.js](https://github.com/simple-uploader/Uploader)
## 安装
npm:
```console
npm install oss-multipart-uploader.js
```
或者直接 git clone:
```console
git clone https://gitee.com/xwxsee/oss-uploader.git
```
## 使用
创建一个 `Uploader` 实例:
```javascript
var r = new Uploader({
// 分片数据上传接口
target: 'http://localhost:8080/oss/v1/multiple_upload/data',
// oss分片上传初始化接口
ossInitTarget: 'http://localhost:8080/oss/v1/multiple_upload/init',
// oss分片上传完成回调接口
ossCompleteTarget: 'http://localhost:8080/oss/v1/multiple_upload/complete',
chunkSize: 1024 * 1024,
testChunks: false,
uploadMethod: 'POST',
// object关联实体,可用于oss的object分类(文件夹)
ossRelateInst: 'temp',
// object关联实体id,可用于oss的object分类(文件夹)
ossRelateInstId: '',
// oss的bucket名称
bucketName: 'clownjee-test',
simultaneousUploads: 1,
headers: {
'AUTH_TOKEN': '00d1b0a6-0664-4b8a-b855-862d4e295913'
},
// checkChunkUploadedByResponse: function (chunk, message) {
// var objMessage = {}
// try {
// objMessage = JSON.parse(message)
// } catch (e) {}
// // fake response
// // objMessage.uploaded_chunks = [2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 17, 20, 21]
// // check the chunk is uploaded
// return (objMessage.uploaded_chunks || []).indexOf(chunk.offset + 1) >= 0
// }
});
// 如果不支持 需要降级的地方
if (!uploader.support) location.href = '/some-old-crappy-uploader'
```
更多使用方法请参考[simple-uploader.js](https://github.com/simple-uploader/Uploader)
## 运行demo
```console
cd ./samples/Node.js
node app.js
```