当前位置: 首页 > 知识库问答 >
问题:

aws 预签名上传 URL 返回 json?

许子平
2023-03-14

有没有办法让预签名的aws上传URL在出现错误时返回json响应,而不是xml响应。

目前,如果url过期,它会返回如下内容。

<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>AccessDenied</Code>
    <Message>Request has expired</Message>
    <X-Amz-Expires>900</X-Amz-Expires>
    <Expires>2020-02-06T20:13:39Z</Expires>
    <ServerTime>2020-02-06T20:26:33Z</ServerTime>
    <RequestId>2A23445454569</RequestId>
    <HostId>oi3j4o5ij346?3464556756567/5675685745yfghr5y4/456345345=</HostId>
</Error>

如果这是json响应就好了。

共有1个答案

晋俊贤
2023-03-14

不,不可能。它不特定于预签名的urlendpoint,但S3不返回json而是xml。

根据s3的错误响应留档;

发生错误时,标头信息包含以下内容:

  • Content-Type:应用程序/xml
  • 适当的3xx、4xx或5xx HTTP状态代码

您也可以从这里查看可用方法的列表,因为可以看出它们都是XML。

 类似资料:
  • 我试图上传图像/视频使用PHP/Javascript到AWS S3 这是我的PHP代码 这是我的Java脚本代码 所有这些功能工作伟大,我想即使在执行它给我文件上传成功消息too.but当我检查s3什么都没有。 即使在控制台中,它也会像下面一样生成预签名URL。但当我尝试单击它时,它会给我SignatureDesNotMatch错误。(请单击URL)。可能是什么错误。。? https://ibra

  • 使用curl或postman,我得到403禁止: Lambda函数具有以下权限: S3桶具有以下CORS规则:

  • 我试图使用S3预签名的PUT url执行文档上传。我使用java AWSSDK(GeneratePresignedUrlRequest.java)生成url。此url生成代码位于AWS API网关后面的lambda函数中。 然而,当我在Postman中复制生成的url时,我遇到了以下错误 生成的url是“https:// 关于在生成url时需要更正的内容,有什么建议吗?

  • 我需要上传一个文件到S3与邮递员测试。我有一个从S3生成的预签名URL。 但是我不知道如何正确地配置postman,以便对生成的预签名URL执行此PUT请求。 邮件头格式错误的postman上的响应是: 预签名请求的参数: 我得到了URL,然后在邮递员中输入它,用PUT请求,但标题不完整?1.如果我在头上添加content-type,服务器2没有响应。在请求的正文中,Im以“二进制”的形式附加文件

  • 问题内容: 我正在尝试使用预签名的URL将文件上传到Amazon的S3。我从生成URL的服务器获取URL,并将其作为JSON对象的一部分发送给我。我将URL作为字符串获取,如下所示: https://com-example-mysite.s3-us- east-1.amazonaws.com/userFolder/ImageName?X-Amz-Security- Token=xxfooxx%2F

  • 我试图上传一个图像使用预先签名的网址 我得到了一个类似的url https://s3.eu-west-1.amazonaws.com/bucket/folder/access.JPG?AWSAccessKeyId=xxxx 我已经尝试上传文件与内容类型图像/jpg,多部分/表单数据。 尝试生成没有文件类型和上传的网址。 尝试了放后法 但似乎什么都不管用 错误总是: 我们计算的请求签名与您提供的签名