package
0.0.0-20151029124810-2127a14b79b3
Repository: https://github.com/lupino/oss-go-sdk.git
Documentation: pkg.go.dev
# README
how to upload file and download file use oss-go-sdk
In this tutorial you will use the PutObject
to upload a file,
and use GetObject
to download a file.
First read getting start
Preapare
Upload a file need a exists bucket, if you create the bucket skip this setup.
var bucket = "ossgosdkfileuploaddownload"
if err = OSSAPI.PutBucket(bucket, oss.ACLPublicReadWrite, nil, nil); err != nil {
var e = oss.ParseError(err)
log.Printf("Code: %s\nMessage: %s\n", e.Code, e.Message)
}
upload a file
Use PutObject
to upload a file.
First defined a function upload.
func upload(OSSAPI *oss.API, bucket, filename, contentType string) {
fp, err := os.Open(filename)
defer fp.Close()
if err != nil {
log.Fatal(err)
}
var headers = make(map[string]string)
headers["Content-Type"] = contentType
if err = OSSAPI.PutObject(bucket, filename, fp, headers); err != nil {
var e = oss.ParseError(err)
log.Printf("Code: %s\nMessage: %s\n", e.Code, e.Message)
}
}
Once upload
created upload the <test.jpg> to OSS
upload(OSSAPI, bucket, "test.jpg", "image/jpeg")
then you can view the file on http://ossgosdkfileuploaddownload.oss-cn-hangzhou.aliyuncs.com/test.jpg
download a file from OSS
Use GetObject
to download file from bucket.
GetObject
return a io.Reader
that use io.Copy
copy the return data to a file.
first import the require package os
, io
, then defined download
function.
func download(OSSAPI *oss.API, bucket, object, filename string) {
var fp, err = os.Create(filename)
if err != nil {
log.Fatal(err)
}
defer fp.Close()
var reader io.Reader
if reader, err = OSSAPI.GetObject(bucket, object, nil, nil); err != nil {
log.Fatal(err)
}
io.Copy(fp, reader)
}
Once create the download
, download <test.jpg>
download(OSSAPI, bucket, "test.jpg", "test-download.jpg")
then you can find the test-download.jpg
on the current dectory.
The end
the source code main.go