【发布时间】:2016-11-25 06:25:21
【问题描述】:
嗨,我有 mvc 应用程序,我想在亚马逊 s3 中获取上传图像的 url,但在获取 url 后,它无法在浏览器中打开 获取Url的代码是
var expiryUrlRequest = new GetPreSignedUrlRequest();
expiryUrlRequest.BucketName = BUCKET_NAME;
expiryUrlRequest.Key = "uploads/participantid_" + v1+ "/taskid_" + v2 + "/" + 0 + ".mp4";
expiryUrlRequest.ContentType = "Video/mp4";
expiryUrlRequest.Expires = DateTime.Now.AddYears(10);
string url = client.GetPreSignedURL(expiryUrlRequest);
我也得到了 url,但是在将其粘贴到浏览器中后,它显示签名不匹配。
【问题讨论】:
-
您能粘贴您的 GetPreSignedUrlRequest 代码吗?
-
它已经是亚马逊实现的方法,我们只需将 expiryUrlRequest 对象发送到该方法即可。
-
SDK的版本是多少?
-
V3.1.6.2 for AWSSDDK.S3 和 AWSSDK.CORE 它是 v3.1.6
-
如果使用的是 Signature V4,预签名 URL 的最长有效期为 7 天,但我预计会出现不同的错误。
var data = expiryUrlRequest.Metadata;的作用是什么?并且您不需要在某处指定与该 URL 关联的方法在您使用它时将是GET吗? (请求方法是规范请求的一部分,在生成签名时使用)。
标签: c# asp.net-mvc amazon-web-services file-upload amazon-s3