Я новичок в Amazon S3.
У меня есть фрагмент кода, в котором файл загружается в Amazon S3 в C# (. Net Framework) с использованием токена и секретного ключа.
Теперь мои требования изменились, и я должен использовать предварительно подписанный URL-адрес для загрузки того же изображения / файла. Я могу сгенерировать предварительно подписанный URL-адрес, но не знаю, как загрузить изображение с помощью этого предварительно подписанного URL-адреса. Я пытался погуглить, но не нашел актуального решения. См. Фрагмент кода ниже:
/// <summary>
/// Method uploads files to a folder inside the Amazon Bucket
/// </summary>
/// <param name="BucketName">Amazon Bucket</param>
/// <param name="folderName">Name of the folder to be created</param>
/// <param name="fileName">Name of the file to be uploaded inside the folder</param>
/// <param name="fileUrl">Path of the file to be uploaded inside the folder</param>
/// <returns>Returns Amazon file path as BucketName/FolderName only if the file is successfully uploaded to this folder or else returns 1 to indicate that file upload was unsuccessful</returns>
public String CreateNewFileInFolder(String BucketName, String folderName, String fileName, String fileUrl, bool StoreInParentFolder = false, string PreSignurl)
{
try
{
String S3Key = new S3FileInfo(
s3Client,
BucketName,
folderName + "/" + fileName).Exists ? Path.GetFileNameWithoutExtension(fileUrl) + "-" + Guid.NewGuid() + Path.GetExtension(fileUrl) : Path.GetFileName(fileUrl);
PutObjectRequest request = new PutObjectRequest
{
BucketName = BucketName,
Key = folderName + "/" + S3Key,
FilePath = fileUrl,
ContentType = GetContentType(fileName)
};
s3Client.PutObject(request);
}
catch (Exception e)
{
}
}