Problem description
In a client-side encryption scenario, the value of the x-oss-meta-client-side-encryption-data-size request header is not an integer in an InitiateMultipartUpload, UploadPart, or CompleteMultipartUpload request.
Causes
In a client-side encryption scenario, the x-oss-meta-client-side-encryption-data-size request header must be included in InitiateMultipartUpload, UploadPart, and CompleteMultipartUpload requests, and its value must be an integer.
Examples
For example, consider the following InitiateMultipartUpload request:
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: val6The request fails because the value of the x-oss-meta-client-side-encryption-data-size header is not an integer.
Solutions
For client-side encryption, ensure that the value of the x-oss-meta-client-side-encryption-data-size header is an integer in InitiateMultipartUpload, UploadPart, and CompleteMultipartUpload requests.