Skip to content

Commit 44a0d01

Browse files
leeyehwangxiao
authored andcommitted
fix(File): add progress event listener before req.end (#356)
* chore(package): update qiniu and superagent * fix(File): add progress event listener before req.end
1 parent 89ba743 commit 44a0d01

File tree

4 files changed

+47
-44
lines changed

4 files changed

+47
-44
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"debug": "^2.2.0",
1515
"localstorage-memory": "^1.0.1",
1616
"md5": "^2.0.0",
17-
"qiniu": "6.1.3",
18-
"superagent": "^2.0.0-alpha.2",
17+
"qiniu": "^6.1.11",
18+
"superagent": "^2.0.0",
1919
"underscore": "^1.8.3"
2020
},
2121
"devDependencies": {

src/uploader/cos.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,24 @@ module.exports = function upload(uploadInfo, data, file, saveOptions = {}) {
1919

2020
const req = request('POST', uploadUrl)
2121
.field('fileContent', data)
22-
.field('op', 'upload')
23-
.end((err, res) => {
24-
if (res) {
25-
debug(res.status, res.body, res.text);
26-
}
27-
if (err) {
28-
if (res) {
29-
err.statusCode = res.status;
30-
err.responseText = res.text;
31-
err.response = res.body;
32-
}
33-
return promise.reject(err);
34-
}
35-
promise.resolve(file);
36-
});
22+
.field('op', 'upload');
3723
if (saveOptions.onprogress) {
3824
req.on('progress', saveOptions.onprogress);
3925
}
26+
req.end((err, res) => {
27+
if (res) {
28+
debug(res.status, res.body, res.text);
29+
}
30+
if (err) {
31+
if (res) {
32+
err.statusCode = res.status;
33+
err.responseText = res.text;
34+
err.response = res.body;
35+
}
36+
return promise.reject(err);
37+
}
38+
promise.resolve(file);
39+
});
40+
4041
return promise;
4142
};

src/uploader/qiniu-browser.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,24 @@ module.exports = function upload(uploadInfo, data, file, saveOptions = {}) {
2222
.field('file', data)
2323
.field('name', file.attributes.name)
2424
.field('key', file._qiniu_key)
25-
.field('token', uptoken)
26-
.end((err, res) => {
27-
if (res) {
28-
debug(res.status, res.body, res.text);
29-
}
30-
if (err) {
31-
if (res) {
32-
err.statusCode = res.status;
33-
err.responseText = res.text;
34-
err.response = res.body;
35-
}
36-
return promise.reject(err);
37-
}
38-
promise.resolve(file);
39-
});
25+
.field('token', uptoken);
4026
if (saveOptions.onprogress) {
4127
req.on('progress', saveOptions.onprogress);
4228
}
29+
req.end((err, res) => {
30+
if (res) {
31+
debug(res.status, res.body, res.text);
32+
}
33+
if (err) {
34+
if (res) {
35+
err.statusCode = res.status;
36+
err.responseText = res.text;
37+
err.response = res.body;
38+
}
39+
return promise.reject(err);
40+
}
41+
promise.resolve(file);
42+
});
43+
4344
return promise;
4445
};

src/uploader/s3.js

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,21 @@ module.exports = function upload(uploadInfo, data, file, saveOptions = {}) {
1414
// 海外节点,针对 S3 才会返回 upload_url
1515
const req = request('PUT', uploadInfo.upload_url)
1616
.set('Content-Type', file.attributes.metaData.mime_type)
17-
.send(data)
18-
.end((err, res) => {
19-
if (err) {
20-
if (res) {
21-
err.statusCode = res.status;
22-
err.responseText = res.text;
23-
err.response = res.body;
24-
}
25-
return promise.reject(err);
26-
}
27-
promise.resolve(file);
28-
});
17+
.send(data);
2918
if (saveOptions.onprogress) {
3019
req.on('progress', saveOptions.onprogress);
3120
}
21+
req.end((err, res) => {
22+
if (err) {
23+
if (res) {
24+
err.statusCode = res.status;
25+
err.responseText = res.text;
26+
err.response = res.body;
27+
}
28+
return promise.reject(err);
29+
}
30+
promise.resolve(file);
31+
});
32+
3233
return promise;
3334
};

0 commit comments

Comments
 (0)