Skip to content

Commit 2d7867d

Browse files
authored
Merge pull request #362 from JemyCheung/crc32
Now user could specify crc32 of the file content for form uploading
2 parents 4b35ab3 + 2466855 commit 2d7867d

File tree

2 files changed

+14
-42
lines changed

2 files changed

+14
-42
lines changed

examples/form_upload_simple.js

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,13 @@ var putPolicy = new qiniu.rs.PutPolicy(options);
1212

1313
var uploadToken = putPolicy.uploadToken(mac);
1414
var config = new qiniu.conf.Config();
15-
var localFile = '/Users/jemy/Downloads/VIDEO_20191008_093955.mp4.zip';
15+
var localFile = '/Users/jemy/Downloads/download.csv';
1616
// config.zone = qiniu.zone.Zone_z0;
1717
var formUploader = new qiniu.form_up.FormUploader(config);
1818
var putExtra = new qiniu.form_up.PutExtra();
19-
20-
// bytes
21-
// formUploader.put(uploadToken, null, "hello", null, function(respErr,
22-
// respBody, respInfo) {
23-
// if (respErr) {
24-
// throw respErr;
25-
// }
26-
//
27-
// if (respInfo.statusCode == 200) {
28-
// console.log(respBody);
29-
// } else {
30-
// console.log(respInfo.statusCode);
31-
// console.log(respBody);
32-
// }
33-
// });
34-
3519
// file
36-
putExtra.fname = 'testfile16.mp4';
20+
putExtra.fname = 'test01.csv';
21+
putExtra.crc32 = 3497766758;
3722
formUploader.putFile(uploadToken, null, localFile, putExtra, function (respErr,
3823
respBody, respInfo) {
3924
if (respErr) {
@@ -47,22 +32,3 @@ formUploader.putFile(uploadToken, null, localFile, putExtra, function (respErr,
4732
console.log(respBody);
4833
}
4934
});
50-
51-
// test query zone frequently when config.zone==null;
52-
setTimeout(upload, 1500);
53-
function upload () {
54-
putExtra.fname = 'testfile17.mp4';
55-
formUploader.putFile(uploadToken, null, localFile, putExtra, function (respErr,
56-
respBody, respInfo) {
57-
if (respErr) {
58-
throw respErr;
59-
}
60-
61-
if (respInfo.statusCode == 200) {
62-
console.log(respBody);
63-
} else {
64-
console.log(respInfo.statusCode);
65-
console.log(respBody);
66-
}
67-
});
68-
}

qiniu/storage/form.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function PutExtra (fname, params, mimeType, crc32, checkCrc) {
2626
this.params = params || {};
2727
this.mimeType = mimeType || null;
2828
this.crc32 = crc32 || null;
29-
this.checkCrc = checkCrc || 1;
29+
this.checkCrc = checkCrc || true;
3030
}
3131

3232
FormUploader.prototype.putStream = function (uploadToken, key, fsStream,
@@ -122,10 +122,16 @@ function createMultipartForm (uploadToken, key, fsStream, putExtra, callbackFunc
122122
fileBody.push(data);
123123
});
124124

125-
fsStream.on('end', function () {
126-
fileBody = Buffer.concat(fileBody);
127-
var bodyCrc32 = parseInt('0x' + getCrc32(fileBody));
128-
postForm.field('crc32', bodyCrc32);
125+
fsStream.on('end', function() {
126+
if (putExtra.checkCrc) {
127+
if (putExtra.crc32 == null) {
128+
fileBody = Buffer.concat(fileBody);
129+
var bodyCrc32 = parseInt('0x' + getCrc32(fileBody));
130+
postForm.field('crc32', bodyCrc32);
131+
} else {
132+
postForm.field('crc32', putExtra.crc32);
133+
}
134+
}
129135
});
130136
callbackFunc(postForm);
131137
}

0 commit comments

Comments
 (0)