首先需要在ASP.NET Core项目中安装AWS SDK for .NET包。然后,在代码中创建S3Client对象并使用GeneratePresignedUrl方法生成上传链接。最后,向该链接发出请求并获取响应即可。
示例代码如下:
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
public static async Task GetSignedURLAsync()
{
var region = RegionEndpoint.USEast1;
var bucketName = "your-bucket-name";
var key = "your-object-key";
var expiration = DateTime.UtcNow.AddMinutes(5);
var s3Client = new AmazonS3Client(region);
var request = new GetPreSignedUrlRequest
{
BucketName = bucketName,
Key = key,
Verb = HttpVerb.PUT,
Expires = expiration
};
string url = s3Client.GetPreSignedURL(request);
var httpClient = new HttpClient();
var response = await httpClient.PutAsync(url, null);
if (response.IsSuccessStatusCode)
{
return url;
}
else
{
throw new Exception(response.ReasonPhrase);
}
}