Uploading files to Amazon S3 requires the AWS SDK for the respective programming language. Below are examples of file upload to Amazon S3 using the AWS SDK in C#, Java, and Golang. Please make sure you have the appropriate AWS SDK installed for your language.
C# File Upload to AWS S3:
using Amazon.S3; using Amazon.S3.Transfer; using System; using System.IO; using System.Threading.Tasks; class Program { static async Task Main() { string accessKey = "Your_AWS_Access_Key"; string secretKey = "Your_AWS_Secret_Key"; string bucketName = "Your_S3_Bucket_Name"; string filePath = "Path_to_Your_File"; var transferUtility = new TransferUtility(accessKey, secretKey, Amazon.RegionEndpoint.USWest2); using (var fileStream = new FileStream(filePath, FileMode.Open)) { await transferUtility.UploadAsync(fileStream, bucketName, Path.GetFileName(filePath)); } Console.WriteLine("File uploaded to AWS S3 in C#."); } }
Java File Upload to AWS S3:
import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.PutObjectRequest; import java.io.File; public class S3FileUploadExample { public static void main(String[] args) { String accessKey = "Your_AWS_Access_Key"; String secretKey = "Your_AWS_Secret_Key"; String bucketName = "Your_S3_Bucket_Name"; String filePath = "Path_to_Your_File"; BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(credentials)) .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("s3.amazonaws.com", "us-west-2")) .build(); s3Client.putObject(new PutObjectRequest(bucketName, new File(filePath).getName(), new File(filePath))); System.out.println("File uploaded to AWS S3 in Java."); } }
Golang (Go) File Upload to AWS S3:
package main import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" "os" ) func main() { accessKey := "Your_AWS_Access_Key" secretKey := "Your_AWS_Secret_Key" bucketName := "Your_S3_Bucket_Name" filePath := "Path_to_Your_File" sess, err := session.NewSession(&aws.Config{ Region: aws.String("us-west-2"), Credentials: credentials.NewStaticCredentials(accessKey, secretKey, ""), }) if err != nil { fmt.Println("Error creating session:", err) return } file, err := os.Open(filePath) if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() s3Client := s3.New(sess) _, err = s3Client.PutObject(&s3.PutObjectInput{ Bucket: aws.String(bucketName), Key: aws.String(file.Name()), Body: file, }) if err != nil { fmt.Println("Error uploading file to AWS S3:", err) return } fmt.Println("File uploaded to AWS S3 in Golang.") }
Remember to replace placeholders like “Your_AWS_Access_Key”, “Your_AWS_Secret_Key”, “Your_S3_Bucket_Name”, and “Path_to_Your_File” with your actual AWS credentials, S3 bucket name, and the local file path you want to upload. Additionally, ensure you have the necessary permissions configured in your AWS account.