Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
Use CreatePresignedPost
with an Amazon SDK
The following code example shows how to use CreatePresignedPost
.
- .NET
-
- Amazon SDK for .NET (v4)
-
Create a presigned POST URL.
/// <summary>
/// Create a presigned POST URL with conditions.
/// </summary>
/// <param name="s3Client">The Amazon S3 client.</param>
/// <param name="bucketName">The name of the bucket.</param>
/// <param name="objectKey">The object key (path) where the uploaded file will be stored.</param>
/// <param name="expires">When the presigned URL expires.</param>
/// <param name="fields">Dictionary of fields to add to the form.</param>
/// <param name="conditions">List of conditions to apply.</param>
/// <returns>A CreatePresignedPostResponse object with URL and form fields.</returns>
public async Task<CreatePresignedPostResponse> CreatePresignedPostAsync(
IAmazonS3 s3Client,
string bucketName,
string objectKey,
DateTime expires,
Dictionary<string, string>? fields = null,
List<S3PostCondition>? conditions = null)
{
var request = new CreatePresignedPostRequest
{
BucketName = bucketName,
Key = objectKey,
Expires = expires
};
// Add custom fields if provided
if (fields != null)
{
foreach (var field in fields)
{
request.Fields.Add(field.Key, field.Value);
}
}
// Add conditions if provided
if (conditions != null)
{
foreach (var condition in conditions)
{
request.Conditions.Add(condition);
}
}
return await s3Client.CreatePresignedPostAsync(request);
}
For a complete list of Amazon SDK developer guides and code examples, see
Developing with Amazon S3 using the Amazon SDKs.
This topic also includes information about getting started and details about previous SDK versions.