我正在使用 amazon sdk for .net 我已经在我的存储桶文件夹中上传了一个文件,现在我想使用这段代码获取该文件的 url
GetPreSignedUrlRequest request = new GetPreSignedUrlRequest();
request.BucketName = "my-new-bucket2";
request.Key = "Images/Tulips.jpg";
request.Expires = DateTime.Now.AddHours(1);
request.Protocol = Protocol.HTTP;
string url = s3.GetPreSignedURL(request);
但这是返回带有 key 、到期日期和签名的 url 但事实上我想在没有它们的情况下获取 url,没有其他方法可以获取 url
**我尝试过的事情**
我搜索并发现我必须更改我的文件的权限
我在上传时更改了文件的权限
request.CannedACL = S3CannedACL.PublicRead;
它在我删除 keyid、expire 和签名时起作用 但是我如何在没有它的情况下获取 url ,或者我必须手动完成
最佳答案
这是设计使然。如果您知道存储桶名称和 key ,那么您就拥有了构建 URL 所需的一切。例如,这里的 bucketname 是 yourbucketname
,key 是 this/is/your/key.jpg
。
https://yourbucketname.s3.amazonaws.com/this/is/your/key.jpg
希望对您有所帮助!
关于c# - 在 C# 中获取亚马逊 Web 服务未签名的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30476455/