oss-multipart-uploader.js基于simple-uploader.js改造,用于阿里云OSS分片上传前端组件
-
和后端接口配合,防止阿里云OSS的
access-key
和access-secret
配置于前端代码,后端代码请参考demo-oss -
更多特性请参考simple-uploader.js
npm:
npm install oss-multipart-uploader.js
或者直接 git clone:
git clone https://gitee.com/xwxsee/oss-uploader.git
创建一个 Uploader
实例:
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
cd ./samples/Node.js
node app.js