c# - 如何在 C# 中获取 S3 文件的 URL?
问题描述
在我的应用程序中,我需要获取一个输入文件,在这种情况下是一个图像,将其上传到一个 S3 存储桶并返回 URL,即用于检索的地址并将其存储在数据库中。
我在 S3 中正确上传了图像文件,但我不确定如何检索 S3 对象的 URL。
当前代码是
public string WriteImageEx(byte[] image, string fileName)
{
var s3client = InitS3Client();
try
{
var request = new PutObjectRequest
{
BucketName = bucketName,
Key = subfolder + "/" + fileName,
CannedACL = S3CannedACL.PublicRead,
};
logger.Debug("Attempting to write to s3 - BucketName [" + request.BucketName + "], Key [" + request.Key + "]");
using (MemoryStream stream = new MemoryStream(image))
{
request.InputStream = stream;
PutObjectResponse response = s3client.PutObject(request);
logger.Debug("s3 PutObjectResponse: HttpStatusCode[" + response.HttpStatusCode + "], ETag [" + response.ETag + "], Expiration [" + response.Expiration + "], VersionId [" + response.VersionId + "]");
return bucketName + DELIMITER + request.Key;
}
}
catch (Exception e)
{
logger.Error("WriteImageEx failed: ", e);
}
return null;
}
想法?
解决方案
推荐阅读
- javascript - 基于关键字在edX中对长文本答案进行评分
- python - 在 pySimpleGUI 中运行复杂的代码?
- javascript - 查找下一个最大回文数的 Javascript 函数
- r - RStudio 中 Markdown 文档顶部的内联预览覆盖
- linux - 如何在另一个文本文件上使用 afk 脚本运行文件
- python - Selenium 登录过程自动化到 Grofers - Python
- nginx - 如何使用 nginx 重定向但保留旧网址
- outlook - Outlook 日历 Web 加载项
- macos - 将 go 应用程序捆绑为 Mac 应用程序并拦截图标单击
- r - 如何根据缺失值在 R 中创建新列