Problem description
The x-oss-meta-client-side-encryption-data-size header is set to a non-integer value in an InitiateMultipartUpload, UploadPart, or CompleteMultipartUpload request in a client-side encryption scenario.
Causes
The x-oss-meta-client-side-encryption-data-size header only accepts integer values. Passing a non-integer value (such as a decimal or an alphanumeric string) causes the request to fail.
Examples
The following InitiateMultipartUpload request fails because x-oss-meta-client-side-encryption-data-size is set to 9x5.2, which is not an integer value:
POST /multipart.data?uploads HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 22 Feb 2012 08:32:21 GMT
x-oss-storage-class: Archive
Authorization: OSS qn6q**************:77Dv****************
x-oss-meta-client-side-encryption-key: val0
x-oss-meta-client-side-encryption-start: val1
x-oss-meta-client-side-encryption-cek-alg: val2
x-oss-meta-client-side-encryption-wrap-alg: rsa
x-oss-meta-client-side-encryption-magic-number-hmac: val4
x-oss-meta-client-side-encryption-data-size: 9x5.2
x-oss-meta-client-side-encryption-part-size: val6To fix the request, set x-oss-meta-client-side-encryption-data-size to an integer value:
x-oss-meta-client-side-encryption-data-size: <integer>Solutions
Set x-oss-meta-client-side-encryption-data-size to an integer value in every InitiateMultipartUpload, UploadPart, and CompleteMultipartUpload request used in client-side encryption scenarios.