MCPcopy
hub / github.com/minio/minio-go / main

Function main

examples/s3/presignedpostpolicy.go:33–66  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

31)
32
33func main() {
34 // Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY, my-bucketname and my-objectname
35 // are dummy values, please replace them with original values.
36
37 // Requests are always secure (HTTPS) by default. Set secure=false to enable insecure (HTTP) access.
38 // This boolean value is the last argument for New().
39
40 // New returns an Amazon S3 compatible client object. API compatibility (v2 or v4) is automatically
41 // determined based on the Endpoint value.
42 s3Client, err := minio.New("s3.amazonaws.com", &minio.Options{
43 Creds: credentials.NewStaticV4("YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY", ""),
44 Secure: true,
45 })
46 if err != nil {
47 log.Fatalln(err)
48 }
49
50 policy := minio.NewPostPolicy()
51 policy.SetBucket("my-bucketname")
52 policy.SetKey("my-objectname")
53 // Expires in 10 days.
54 policy.SetExpires(time.Now().UTC().AddDate(0, 0, 10))
55 // Returns form data for POST form request.
56 url, formData, err := s3Client.PresignedPostPolicy(context.Background(), policy)
57 if err != nil {
58 log.Fatalln(err)
59 }
60 fmt.Printf("curl ")
61 for k, v := range formData {
62 fmt.Printf("-F %s=%s ", k, v)
63 }
64 fmt.Printf("-F file=@/etc/bash.bashrc ")
65 fmt.Printf("%s\n", url)
66}

Callers

nothing calls this directly

Calls 5

SetBucketMethod · 0.95
SetKeyMethod · 0.95
SetExpiresMethod · 0.95
NewStaticV4Function · 0.92
PresignedPostPolicyMethod · 0.80

Tested by

no test coverage detected