Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services s3预签名url多部分formdata上载错误:签名不匹配_Amazon Web Services_Amazon S3_Multipartform Data_Pre Signed Url - Fatal编程技术网

Amazon web services s3预签名url多部分formdata上载错误:签名不匹配

Amazon web services s3预签名url多部分formdata上载错误:签名不匹配,amazon-web-services,amazon-s3,multipartform-data,pre-signed-url,Amazon Web Services,Amazon S3,Multipartform Data,Pre Signed Url,我从aws获得一个预先签名的url,并使用它请求(放置)一个zip文件。我得到的签名不匹配 获取预签名url时: const params = { Bucket: myBucket, Key: myKey, Expires: 60*60, ACL: '**-**-**', ContentType: 'application/x-zip-compressed'}; 请求时:

我从aws获得一个预先签名的url,并使用它请求(放置)一个zip文件。我得到的签名不匹配

获取预签名url时:

const params = {
            Bucket: myBucket,
            Key: myKey,
            Expires: 60*60,
            ACL: '**-**-**',
            ContentType: 'application/x-zip-compressed'}; 
请求时:

const formData = new FormData();
        formData.append('file', file);
        formData.append('filename', file.name);

fetch(url, {
                method: 'PUT',
                headers: {
                    'Content-Type': 'application/x-zip-compressed',
                },
                body: formData
        })

签名中使用的任何
ACL
值也需要在请求头中发送,如
'x-amz-ACL':'**-**-**'

还要注意,S3
PUT
不期望
FormData
——它期望
正文
只包含对象的原始字节。这不是错误的原因,但是一旦您纠正了签名错误,您也需要更改它,以便获得有效、可用的上载