【发布时间】:2011-12-21 05:32:04
【问题描述】:
我正在使用 AWS.Net 上传用户内容(图像)并将它们显示在我的网站上。这是我的代码目前上传的样子:
using (client = Amazon.AWSClientFactory.CreateAmazonS3Client())
{
var putObjectRequest = new PutObjectRequest
{
BucketName = bucketName,
InputStream = fileStream,
Key = fileName,
CannedACL = S3CannedACL.PublicRead,
//MD5Digest = md5Base64,
//GenerateMD5Digest = true,
Timeout = 3600000 //1 Hour
};
S3Response response = client.PutObject(putObjectRequest);
response.Dispose();
}
存储这些文件路径的最佳方式是什么?有没有办法从响应中获取指向我的文件的链接?
目前,我的 webconfig 中只有一个 URL,例如 https://s3.amazonaws.com/<MyBucketName>/,然后当我需要显示图像时,我获取该字符串并使用我存储在数据库中的对象中的密钥,该密钥代表上传的文件。
有更好的方法吗?
它附带的所有示例都没有真正解决这种用法。而且文档不在线,我不知道在安装 SDK 后如何获取它,尽管按照亚马逊上的说明进行操作。
【问题讨论】:
-
代码示例只需 +1! S3 / SDK 在上传时似乎默认为私有文件,无论存储桶默认值如何。我发现的所有其他显式设置权限的示例都使用了传输实用程序。输入流正是我所追求的!
标签: c# .net amazon-web-services