阿里云oss

This commit is contained in:
lzh
2025-07-16 14:55:59 +08:00
parent 0c7ec61e65
commit 1e2d00edaf
2 changed files with 33 additions and 3 deletions

View File

@@ -40,9 +40,9 @@ func (c *ALiYunOSSClient) GetSignUrl(bucket string, key string, expires time.Dur
result, err = c.ossClient.Presign( result, err = c.ossClient.Presign(
context.Background(), context.Background(),
&oss.PutObjectRequest{ &oss.PutObjectRequest{
Bucket: oss.Ptr(bucket), Bucket: oss.Ptr(bucket),
Key: oss.Ptr(key), Key: oss.Ptr(key),
//ContentType: oss.Ptr("application/octet-stream"), ContentType: oss.Ptr("application/octet-stream"),
}, },
oss.PresignExpires(expires), oss.PresignExpires(expires),
) )
@@ -52,6 +52,19 @@ func (c *ALiYunOSSClient) GetSignUrl(bucket string, key string, expires time.Dur
return return
} }
func (c *ALiYunOSSClient) GetSignUrlByPutObjectRequest(req *oss.PutObjectRequest, expires time.Duration) (result *oss.PresignResult, err error) {
// 生成PutObject的预签名URL
result, err = c.ossClient.Presign(
context.Background(),
req,
oss.PresignExpires(expires),
)
if err != nil {
return nil, err
}
return
}
// PutForLocalFile 上传本地文件 // PutForLocalFile 上传本地文件
func (c *ALiYunOSSClient) PutForLocalFile(bucket, key, path string) (result *oss.PutObjectResult, err error) { func (c *ALiYunOSSClient) PutForLocalFile(bucket, key, path string) (result *oss.PutObjectResult, err error) {
// 创建上传对象的请求 // 创建上传对象的请求

View File

@@ -1,6 +1,7 @@
package oss_tool package oss_tool
import ( import (
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"os" "os"
"testing" "testing"
) )
@@ -36,6 +37,22 @@ func TestALiYunOSSClient_GetSignUrl(t *testing.T) {
t.Log(sign) t.Log(sign)
} }
func TestALiYunOSSClient_GetSignUrlByPutObjectRequest(t *testing.T) {
err := client.NewAliYunOSS()
if err != nil {
t.Error(err)
}
req := &oss.PutObjectRequest{}
req.Bucket = oss.Ptr("")
req.Key = oss.Ptr("test/upload/bizhi2.jpg")
req.ContentType = oss.Ptr("application/octet-stream")
sign, err := client.GetSignUrlByPutObjectRequest(req, 0)
if err != nil {
t.Error(err)
}
t.Log(sign)
}
func TestALiYunOSSClient_PutForLocalFile(t *testing.T) { func TestALiYunOSSClient_PutForLocalFile(t *testing.T) {
err := client.NewAliYunOSS() err := client.NewAliYunOSS()
if err != nil { if err != nil {