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

尝试访问Amazon s3上的文件时出现SignatureDesNotMatch错误

乐正晟
2023-03-14

我正在尝试使用GetPreSignedUrlRequest方法访问已上载到AmazonS3的文件。我使用的代码如下所示:-

string bucketName = string.Empty;
if (ConfigurationManager.AppSettings["S3BucketName"] != null)
{
       bucketName = ConfigurationManager.AppSettings["S3BucketName"].ToString();
}
AmazonS3Client s3Client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1);
GetPreSignedUrlRequest request = new GetPreSignedUrlRequest
{
     BucketName = bucketName,
     Key = file.FileName,
     Expires = DateTime.Now.AddMinutes(5),
     Protocol = Protocol.HTTP
};
string url = s3Client.GetPreSignedURL(request);

由此生成的url然后用于指向文件。看起来像http://s3.amazonaws.com/mybucketname/VZcbKsZgR2qyOMkLU1XT_jquery_ui_touch-punch_min_js.txt?X-Amz-Expires=300

但这给了我签名不匹配的错误,如下图所示:-

共有2个答案

耿弘阔
2023-03-14

如果请求的某些详细信息设置不正确,也可能发生这种情况:

e、 对我来说,以下几行解决了这个问题

        request1.ContentType = "image/jpeg";
        request1.Verb = HttpVerb.PUT;
柳培
2023-03-14

更新-1月16日发布的SDK版本2.0.6包含此问题的修复程序。

您的代码很好,但不幸的是SDK中的一个bug导致了预先签名的url格式错误。我刚刚用我们最新的代码库测试了它,我们已经解决了这个问题;这个新版本应该很快发布。

发布补丁后,我将ping此问题。很抱歉给您带来不便。

当做

 类似资料:
  • 我所要做的就是访问json文件的内容并将其显示到网页上。但我有个错误: JSON文件和HTML文件都在同一个文件夹中。 这是我的html页面: 这是JSON文件myData。json: 我真的不明白这个问题,但如果我做错了,有人能告诉我更好的方法吗?

  • 我带着一个我无法解决的问题来到这里。 我在版本1.7中有一个prestashop,我已经移动到另一台服务器,值得一提的是,在旧服务器中,prestashop运行良好。 当我将prestashop迁移到新服务器时,除了我想进入后台,当我想进入后台时,只需将页面留空,其他一切都可以正常工作。 我已经激活了调试模式,但它没有给我任何与后台相关的错误,有趣的是,当调试模式被激活时,我可以毫无问题地进入后台

  • 我对php和mySQL是完全陌生的,并且正在尝试连接到远程数据库。这是我的代码:- $result=mysql_query(“Select*FROM Constants”); while($ROW=mysql_fetch_array($result)){echo$ROW['name']; echo“ ”;} mysql_close($con); 对这个问题有什么想法吗?马特·蒂亚

  • 问题:我正在按照本指南通过Spring MVC上传文件:https://Spring.io/guides/gs/uploading-files/。但是,当我这样做时,当我通过.jsp页面上的表单上传一个文件时,我总是会收到以下错误: HTTP状态400-所需的字符串参数“name”不存在 类型状态报告 message Required字符串参数“name”不存在 描述客户端发送的请求语法不正确。

  • 拜托,我需要一些关于Prestashop问题的帮助。我在OVH共享主机上运行Prestashop 1.7。直到昨天早上,一切都很顺利,但后来我再也无法访问后台,反而出现了错误500。门脸还在工作,我还在接受订单。 资料: 我没有升级任何东西,无论是网站还是任何模块。 当我启用调试模式(define.inc.php),后台再次工作,但前台得到一个错误:前台错误。当我试图从后台重新生成. htacce

  • 问题内容: 我在Bower注册我的bower.json文件时遇到问题。任何帮助将不胜感激。 当我尝试使用Bower注册我的项目时 我收到错误消息: 我的bower.json的内容很简单(为了解决问题,我删除了空格和换行符): (请注意,该文件中没有?) 这是我运行Bower Register时屏幕上显示的详细信息: 问题答案: 您的Bower json文件(在此处可见:https : //raw.