1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package servers
- import (
- "context"
- "fmt"
- "github.com/qiniu/api.v7/auth/qbox"
- "github.com/qiniu/api.v7/storage"
- "mime/multipart"
- "time"
- )
- var accessKey string = "25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ"
- var secretKey string = "pgdbqEsf7ooZh7W3xokP833h3dZ_VecFXPDeG5JY"
- func Upload(file *multipart.FileHeader, bucket string, urlPath string) (err error, path string) {
- putPolicy := storage.PutPolicy{
- Scope: bucket,
- }
- mac := qbox.NewMac(accessKey, secretKey)
- upToken := putPolicy.UploadToken(mac)
- cfg := storage.Config{}
-
- cfg.Zone = &storage.ZoneHuadong
-
- cfg.UseHTTPS = false
-
- cfg.UseCdnDomains = false
- formUploader := storage.NewFormUploader(&cfg)
- ret := storage.PutRet{}
- putExtra := storage.PutExtra{
- Params: map[string]string{
- "x:name": "github logo",
- },
- }
- f, e := file.Open()
- if e != nil {
- fmt.Println(e)
- return e, ""
- }
- dataLen := file.Size
- fileKey := fmt.Sprintf("%d%s", time.Now().Unix(), file.Filename)
- err = formUploader.Put(context.Background(), &ret, upToken, fileKey, f, dataLen, &putExtra)
- if err != nil {
- fmt.Println(err)
-
- return err, ""
- }
- return err, urlPath + "/" + ret.Key
- }
|