我正在使用FineUploader上传到S3。我有一切工作,包括删除。但是,当我上传较大的文件而导致多部分上传时,我在控制台中出现以下错误(打开调试):
Specific problem detected initiating multipart upload request for 0: 'The request signature we calculated does not match the signature you provided. Check your key and signing method.'.
有人可以指出我正确的方向,我应该检查设置,或者您可能需要哪些其他信息?
答案 0 :(得分:2)
由于您还没有包含任何特定于您的设置,代码或失败请求的内容,我最好的猜测是您的服务器没有为上传到S3 REST API的内容返回正确的签名响应(用于较大的文件)。您需要查看该过程以生成对此类签名请求的响应。
以下是Fine Uploader's S3 documentation的相关部分:
Fine Uploader S3使用Amazon S3的REST API启动,上传, 完成并中止分段上传。 REST API处理 通过签署规范格式的标头进行身份验证。签字 是你需要实现服务器端的东西。您所有的服务器需求 用于验证和支持直接上传到亚马逊的分块上传 S3是一个字符串,表示请求的标题为Fine 上传者发送到S3。这个字符串可以在有效载荷中找到 签名请求:
{" header":/ * string to sign * /}
此属性的存在向您的服务器指示这是,在 事实上,请求签署REST /多部分请求而不是策略 文档。
标题字符串的此签名与策略略有不同 文件签名。你不应该base64编码头字符串 在签署之前。服务器端所需要做的就是生成HMAC 使用您的AWS密钥然后使用base64对字符串进行SHA1签名 编码结果。您的服务器应该响应以下内容 'application / json'回复的主体:
{"签名":/ * signed headers string * /}