UNPKG

1.27 kBJavaScriptView Raw
1const qiniu = require('qiniu')
2const chalk = require('chalk')
3
4module.exports = function(bucket, localFile, fileKey, fn) {
5 let context = this
6 let accessKey = context.accessKey
7 let secretKey = context.secretKey
8 let mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
9 let options = {
10 scope: bucket,
11 returnBody: '{"key":"$(key)","fsize":$(fsize),"bucket":"$(bucket)"}'
12 }
13 let putPolicy = new qiniu.rs.PutPolicy(options)
14 let uploadToken = putPolicy.uploadToken(mac)
15 let config = new qiniu.conf.Config()
16 let formUploader = new qiniu.form_up.FormUploader(config)
17 let putExtra = new qiniu.form_up.PutExtra();
18
19 config.zone = qiniu.zone.Zone_z0
20 formUploader.putFile(uploadToken, fileKey, localFile, putExtra,
21 function(respErr, respBody, respInfo) {
22 if (respErr) {
23 throw respErr
24 }
25 if (Number(respInfo.statusCode) === 200) {
26 console.log(chalk.green([
27 'Upload Adrress -- bucket: ' + respBody.bucket,
28 ' -- file: ' + respBody.key + ' -- size:',
29 '(' + (Number(respBody.fsize) / 1000) + 'KB)'
30 ].join(' ')))
31
32 fn ? fn.apply(context) : ''
33 } else {
34 console.log(chalk.red(fileKey + ' ' + 'upload failure.'))
35 console.log(respBody)
36 }
37 })
38}
\No newline at end of file