Skip to content

Commit

Permalink
修复分片上传 Content-Type 有误
Browse files Browse the repository at this point in the history
  • Loading branch information
carsonxu committed Jan 10, 2019
1 parent e2b1058 commit ef0a02c
Show file tree
Hide file tree
Showing 9 changed files with 82 additions and 8 deletions.
2 changes: 1 addition & 1 deletion demo/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ var getAuthorization = function (options, callback) {
// Expires: 900,
// });
// callback({
// Authorization: e.target.responseText,
// Authorization: authorization,
// // XCosSecurityToken: credentials.sessionToken, // 如果使用临时密钥,需要传 XCosSecurityToken
// });

Expand Down
4 changes: 2 additions & 2 deletions dist/cos-js-sdk-v5.js
Original file line number Diff line number Diff line change
Expand Up @@ -1979,7 +1979,7 @@ base.init(COS, task);
advance.init(COS, task);

COS.getAuthorization = util.getAuth;
COS.version = '0.5.6';
COS.version = '0.5.7';

module.exports = COS;

Expand Down Expand Up @@ -5366,7 +5366,7 @@ function multipartInit(params, callback) {

var xml = util.json2xml({});
var headers = params.Headers;
headers['Content-Type'] = 'application/xml';
headers['Content-Type'] = headers['Content-Type'] || '';
headers['Content-MD5'] = util.binaryBase64(util.md5(xml));

submitRequest.call(this, {
Expand Down
2 changes: 1 addition & 1 deletion dist/cos-js-sdk-v5.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cos-js-sdk-v5",
"version": "0.5.6",
"version": "0.5.7",
"description": "JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)",
"main": "index.js",
"scripts": {
Expand Down
1 change: 0 additions & 1 deletion server/sts.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ app.all('/sts', function (req, res, next) {


app.all('*', function (req, res, next) {
res.writeHead(404);
res.send({code: -1, message: '404 Not Found'});
});

Expand Down
2 changes: 1 addition & 1 deletion src/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -1452,7 +1452,7 @@ function multipartInit(params, callback) {

var xml = util.json2xml({});
var headers = params.Headers;
headers['Content-Type'] = 'application/xml';
headers['Content-Type'] = headers['Content-Type'] || '';
headers['Content-MD5'] = util.binaryBase64(util.md5(xml));

submitRequest.call(this, {
Expand Down
2 changes: 1 addition & 1 deletion src/cos.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@ base.init(COS, task);
advance.init(COS, task);

COS.getAuthorization = util.getAuth;
COS.version = '0.5.5';
COS.version = '0.5.7';

module.exports = COS;
73 changes: 73 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1867,3 +1867,76 @@ group('deleteMultipleObject Key 带中文字符', function () {
});
});
});

group('upload Content-Type', function () {
test('putObject Content-Type null', function (done, assert) {
cos.putObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.zip',
Body: '12345',
}, function (err, data) {
cos.headObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.zip',
}, function (err, data) {
assert.ok(data.headers['content-type'] === 'application/zip', 'Content-Type 正确');
done();
});
});
});
test('putObject Content-Type text/plain', function (done, assert) {
cos.putObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.txt',
ContentType: 'text/html',
Body: '12345',
}, function (err, data) {
cos.headObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.txt',
}, function (err, data) {
assert.ok(data.headers['content-type'] === 'text/html', 'Content-Type 正确');
done();
});
});
});
test('sliceUploadFile Content-Type null', function (done, assert) {
cos.sliceUploadFile({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.zip',
Body: '12345',
}, function (err, data) {
cos.headObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.zip',
}, function (err, data) {
assert.ok(data.headers['content-type'] === 'application/zip', 'Content-Type 正确');
done();
});
});
});
test('sliceUploadFile Content-Type text/plain', function (done, assert) {
cos.sliceUploadFile({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.txt',
ContentType: 'text/html',
Body: '12345',
}, function (err, data) {
cos.headObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '1.txt',
}, function (err, data) {
assert.ok(data.headers['content-type'] === 'text/html', 'Content-Type 正确');
done();
});
});
});
});
2 changes: 2 additions & 0 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ var replaceDevCode = function (list) {
newContent = newContent.replace(/https:\/\/\w+\.com\/[\w\-]+\/server\//, 'https://example.com/');
newContent = newContent.replace(/test-125\d{7}/, 'test-1250000000');
newContent = newContent.replace(/'proxy' => 'http:\/\/[^']+',/, "'proxy' => '',");
newContent = newContent.replace(/proxy: 'http:\/\/[^']+',/, "proxy: '',");
newContent = newContent.replace(/AKID\w+/, 'AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
newContent = newContent.replace(/'secretKey' => '[^']+',/, "'secretKey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',");
newContent = newContent.replace(/secretKey: '[^']+',/, "secretKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',");
newContent = newContent.replace("array ('name/cos:*')", `array (
// 简单上传
'name/cos:PutObject',
Expand Down

0 comments on commit ef0a02c

Please sign in to comment.