C# 亚马逊S3.NET:上传base64图像数据?
我正在尝试将图像转换为base64,并尝试使用C#将其上载到AWS S3。我一直得到一个远程服务器找不到异常。但我能够以编程方式登录并列出我拥有的存储桶。 你能找出哪里出了问题吗C# 亚马逊S3.NET:上传base64图像数据?,c#,amazon-s3,image-upload,C#,Amazon S3,Image Upload,我正在尝试将图像转换为base64,并尝试使用C#将其上载到AWS S3。我一直得到一个远程服务器找不到异常。但我能够以编程方式登录并列出我拥有的存储桶。 你能找出哪里出了问题吗 static void Main(string[] args) { string configaccess = ConfigurationManager.AppSettings["AWSAccesskey"]; string configsecret = Configu
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");
}
}
我已经用相同的代码进行了测试,并且工作得很好。您不需要在键中指定bucket名称。如果要将此文件存储在bucket中的任何文件夹中,我们可以指定文件夹名称 Key=string.Format(“FolderName/{0}”,“foo.jpg”)