Amazon S3 .NET:上传 base64 图像数据?
Posted
技术标签:
【中文标题】Amazon S3 .NET:上传 base64 图像数据?【英文标题】:Amazon S3 .NET: Upload base64 image data? 【发布时间】:2018-07-16 00:45:24 【问题描述】:我正在尝试将图像转换为 base64,并尝试使用 C# 将其上传到 AWS S3。我不断收到未找到远程服务器的异常。但我能够以编程方式登录并列出我拥有的存储桶。 你能找出问题所在吗?
static void Main(string[] args)
string configaccess = ConfigurationManager.AppSettings["AWSAccesskey"];
string configsecret = ConfigurationManager.AppSettings["AWSSecretkey"];
var s3Client = new AmazonS3Client(
configaccess,
configsecret,
RegionEndpoint.USEast1
);
Byte[] bArray = File.ReadAllBytes("path/foo.jpg");
String base64String = Convert.ToBase64String(bArray);
try
byte[] bytes = Convert.FromBase64String(base64String);
using (s3Client)
var request = new PutObjectRequest
BucketName = "bucketName",
CannedACL = S3CannedACL.PublicRead,
Key = string.Format("bucketName/0", "foo.jpg")
;
using (var ms = new MemoryStream(bytes))
request.InputStream = ms;
s3Client.PutObject(request);
catch (Exception ex)
Console.WriteLine("AWS Fail");
【问题讨论】:
【参考方案1】:我已经使用相同的代码进行了测试,并且对我来说工作正常。您无需在 Key 中指定存储桶名称。如果要将此文件存储在存储桶内的任何文件夹中,我们可以指定文件夹名称。
Key = string.Format("FolderName/0", "foo.jpg")。
【讨论】:
以上是关于Amazon S3 .NET:上传 base64 图像数据?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 asp.net mvc 中显示来自 s3 存储桶的上传图像
尽管存储桶是公共的,但 Amazon S3 base64 图像不适用于 og:image 标签