mirror of
https://github.com/cloudreve/cloudreve.git
synced 2025-11-02 11:42:22 +08:00
Test: qiniu handler get token
This commit is contained in:
@ -3,12 +3,10 @@ package qiniu
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
model "github.com/HFO4/cloudreve/models"
|
||||
"github.com/HFO4/cloudreve/pkg/filesystem/fsctx"
|
||||
"github.com/HFO4/cloudreve/pkg/filesystem/response"
|
||||
"github.com/HFO4/cloudreve/pkg/serializer"
|
||||
"github.com/qiniu/api.v7/v7/auth"
|
||||
"github.com/qiniu/api.v7/v7/auth/qbox"
|
||||
"github.com/qiniu/api.v7/v7/storage"
|
||||
"io"
|
||||
@ -28,31 +26,31 @@ func (handler Handler) Get(ctx context.Context, path string) (response.RSCloser,
|
||||
// Put 将文件流保存到指定目录
|
||||
func (handler Handler) Put(ctx context.Context, file io.ReadCloser, dst string, size uint64) error {
|
||||
return errors.New("未实现")
|
||||
// 凭证生成
|
||||
putPolicy := storage.PutPolicy{
|
||||
Scope: "cloudrevetest",
|
||||
}
|
||||
mac := auth.New("YNzTBBpDUq4EEiFV0-vyJCZCJ0LvUEI0_WvxtEXE", "Clm9d9M2CH7pZ8vm049ZlGZStQxrRQVRTjU_T5_0")
|
||||
upToken := putPolicy.UploadToken(mac)
|
||||
|
||||
cfg := storage.Config{}
|
||||
// 空间对应的机房
|
||||
cfg.Zone = &storage.ZoneHuadong
|
||||
formUploader := storage.NewFormUploader(&cfg)
|
||||
ret := storage.PutRet{}
|
||||
putExtra := storage.PutExtra{
|
||||
Params: map[string]string{},
|
||||
}
|
||||
|
||||
defer file.Close()
|
||||
|
||||
err := formUploader.Put(ctx, &ret, upToken, dst, file, int64(size), &putExtra)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
fmt.Println(ret.Key, ret.Hash)
|
||||
return nil
|
||||
//// 凭证生成
|
||||
//putPolicy := storage.PutPolicy{
|
||||
// Scope: "cloudrevetest",
|
||||
//}
|
||||
//mac := auth.New("YNzTBBpDUq4EEiFV0-vyJCZCJ0LvUEI0_WvxtEXE", "Clm9d9M2CH7pZ8vm049ZlGZStQxrRQVRTjU_T5_0")
|
||||
//upToken := putPolicy.UploadToken(mac)
|
||||
//
|
||||
//cfg := storage.Config{}
|
||||
//// 空间对应的机房
|
||||
//cfg.Zone = &storage.ZoneHuadong
|
||||
//formUploader := storage.NewFormUploader(&cfg)
|
||||
//ret := storage.PutRet{}
|
||||
//putExtra := storage.PutExtra{
|
||||
// Params: map[string]string{},
|
||||
//}
|
||||
//
|
||||
//defer file.Close()
|
||||
//
|
||||
//err := formUploader.Put(ctx, &ret, upToken, dst, file, int64(size), &putExtra)
|
||||
//if err != nil {
|
||||
// fmt.Println(err)
|
||||
// return err
|
||||
//}
|
||||
//fmt.Println(ret.Key, ret.Hash)
|
||||
//return nil
|
||||
}
|
||||
|
||||
// Delete 删除一个或多个文件,
|
||||
@ -94,7 +92,6 @@ func (handler Handler) Token(ctx context.Context, TTL int64, key string) (serial
|
||||
// 创建上传策略
|
||||
putPolicy := storage.PutPolicy{
|
||||
Scope: handler.Policy.BucketName,
|
||||
Expires: uint64(TTL),
|
||||
CallbackURL: apiURL.String(),
|
||||
CallbackBody: `{"name":"$(fname)","source_name":"$(key)","size":$(fsize),"pic_info":"$(imageInfo.width),$(imageInfo.height)"}`,
|
||||
CallbackBodyType: "application/json",
|
||||
@ -107,8 +104,14 @@ func (handler Handler) Token(ctx context.Context, TTL int64, key string) (serial
|
||||
putPolicy.MimeLimit = handler.Policy.OptionsSerialized.MimeType
|
||||
}
|
||||
|
||||
return handler.getUploadCredential(ctx, putPolicy, TTL)
|
||||
}
|
||||
|
||||
// getUploadCredential 签名上传策略
|
||||
func (handler Handler) getUploadCredential(ctx context.Context, policy storage.PutPolicy, TTL int64) (serializer.UploadCredential, error) {
|
||||
policy.Expires = uint64(TTL)
|
||||
mac := qbox.NewMac(handler.Policy.AccessKey, handler.Policy.SecretKey)
|
||||
upToken := putPolicy.UploadToken(mac)
|
||||
upToken := policy.UploadToken(mac)
|
||||
|
||||
return serializer.UploadCredential{
|
||||
Token: upToken,
|
||||
|
||||
Reference in New Issue
Block a user