|
|
@ -1,15 +1,16 @@ |
|
|
|
package main |
|
|
|
|
|
|
|
import ( |
|
|
|
"crypto/md5" |
|
|
|
"encoding/base64" |
|
|
|
"fmt" |
|
|
|
"github.com/aws/aws-sdk-go/aws" |
|
|
|
"github.com/aws/aws-sdk-go/aws/session" |
|
|
|
"github.com/aws/aws-sdk-go/service/s3" |
|
|
|
"encoding/base64" |
|
|
|
"fmt" |
|
|
|
"crypto/md5" |
|
|
|
"github.com/seaweedfs/seaweedfs/weed/util" |
|
|
|
"net/http" |
|
|
|
"strings" |
|
|
|
"time" |
|
|
|
"net/http" |
|
|
|
) |
|
|
|
|
|
|
|
// Downloads an item from an S3 Bucket in the region configured in the shared config
|
|
|
@ -63,6 +64,7 @@ func main() { |
|
|
|
fmt.Printf("error put request: %v\n", err) |
|
|
|
return |
|
|
|
} |
|
|
|
defer util.CloseResponse(resp) |
|
|
|
fmt.Printf("response: %+v\n", resp) |
|
|
|
} |
|
|
|
|
|
|
@ -70,4 +72,4 @@ var stringContent = `Generate a Pre-Signed URL for an Amazon S3 PUT Operation wi |
|
|
|
You can generate a pre-signed URL for a PUT operation that checks whether users upload the correct content. When the SDK pre-signs a request, it computes the checksum of the request body and generates an MD5 checksum that is included in the pre-signed URL. Users must upload the same content that produces the same MD5 checksum generated by the SDK; otherwise, the operation fails. This is not the Content-MD5, but the signature. To enforce Content-MD5, simply add the header to the request. |
|
|
|
|
|
|
|
The following example adds a Body field to generate a pre-signed PUT operation that requires a specific payload to be uploaded by users. |
|
|
|
` |
|
|
|
` |