Skip to content

Commit 39b7a3d

Browse files
committed
fix(qiniu): replace qiniu SDK with Rest API
to avoid qiniu/nodejs-sdk#205
1 parent 88fda71 commit 39b7a3d

File tree

3 files changed

+23
-50
lines changed

3 files changed

+23
-50
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
"leancloud-realtime-plugin-live-query": "^1.0.0-beta.2",
2727
"localstorage-memory": "^1.0.1",
2828
"md5": "^2.0.0",
29-
"qiniu": "^6.1.11",
3029
"superagent": "^3.3.1",
3130
"underscore": "^1.8.3"
3231
},
@@ -50,6 +49,7 @@
5049
"jsdoc": "~3.4.0",
5150
"mocha": "^3.0.0",
5251
"nyc": "^8.1.0",
52+
"qiniu": "^6.1.11",
5353
"should": "^11.1.0",
5454
"weapp-polyfill": "^1.1.0",
5555
"webpack": "^2.2.0-rc.3"
@@ -60,7 +60,6 @@
6060
"email": "[email protected]"
6161
},
6262
"browser": {
63-
"./src/uploader/qiniu.js": "./src/uploader/qiniu-browser.js",
6463
"./src/utils/localstorage.js": "./src/utils/localstorage-browser.js",
6564
"./src/utils/parse-base64.js": "./src/utils/parse-base64-browser.js",
6665
"./src/ua/comments.js": "./src/ua/comments-browser.js",

src/uploader/qiniu-browser.js

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/uploader/qiniu.js

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
1-
// Use qiniu sdk to upload files to qiniu.
2-
const qiniu = require('qiniu');
1+
const request = require('superagent');
32
const Promise = require('../promise');
3+
const debug = require('debug')('qiniu');
44

5-
module.exports = function upload(uploadInfo, data, file) {
5+
module.exports = function upload(uploadInfo, data, file, saveOptions = {}) {
66
file.attributes.url = uploadInfo.url;
77
file._bucket = uploadInfo.bucket;
88
file.id = uploadInfo.objectId;
99
// Get the uptoken to upload files to qiniu.
1010
const uptoken = uploadInfo.token;
1111
return new Promise((resolve, reject) => {
12-
const extra = new qiniu.io.PutExtra();
13-
if (file.get('mime_type')) {
14-
extra.mimeType = file.get('mime_type');
12+
const req = request('POST', 'https://up.qbox.me')
13+
.field('file', data)
14+
.field('name', file.attributes.name)
15+
.field('key', file._qiniu_key)
16+
.field('token', uptoken);
17+
if (saveOptions.onprogress) {
18+
req.on('progress', saveOptions.onprogress);
1519
}
16-
const body = new Buffer(data, 'base64');
17-
qiniu.io.put(uptoken, file._qiniu_key, body, extra, (err) => {
18-
delete file._qiniu_key;
19-
if (!err) {
20-
resolve(file);
21-
} else {
22-
reject(err);
20+
req.end((err, res) => {
21+
if (res) {
22+
debug(res.status, res.body, res.text);
2323
}
24+
if (err) {
25+
if (res) {
26+
err.statusCode = res.status;
27+
err.responseText = res.text;
28+
err.response = res.body;
29+
}
30+
return reject(err);
31+
}
32+
resolve(file);
2433
});
2534
});
2635
};

0 commit comments

Comments
 (0)