|
|
|
@@ -1,55 +0,0 @@ |
|
|
|
package cloudstorage |
|
|
|
|
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"github.com/aliyun/aliyun-oss-go-sdk/oss" |
|
|
|
"log" |
|
|
|
) |
|
|
|
|
|
|
|
type OSSClient struct { |
|
|
|
client *oss.Client |
|
|
|
bucket *oss.Bucket |
|
|
|
} |
|
|
|
|
|
|
|
func (c *OSSClient) InitiateMultipartUpload(objectName string) (string, error) { |
|
|
|
imur, err := c.bucket.InitiateMultipartUpload(objectName) |
|
|
|
if err != nil { |
|
|
|
return "", fmt.Errorf("failed to initiate multipart upload: %w", err) |
|
|
|
} |
|
|
|
return imur.UploadID, nil |
|
|
|
} |
|
|
|
|
|
|
|
func NewOSSClient(obs ObjectStorage) *OSSClient { |
|
|
|
// 创建OSSClient实例。 |
|
|
|
client, err := oss.New(obs.Endpoint, obs.AK, obs.SK) |
|
|
|
if err != nil { |
|
|
|
log.Fatalf("Error: %v", err) |
|
|
|
} |
|
|
|
|
|
|
|
bucket, err := client.Bucket(obs.Bucket) |
|
|
|
if err != nil { |
|
|
|
log.Fatalf("Error: %v", err) |
|
|
|
} |
|
|
|
|
|
|
|
return &OSSClient{ |
|
|
|
client: client, |
|
|
|
bucket: bucket, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func (c *OSSClient) UploadPart() { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
func (c *OSSClient) CompleteMultipartUpload() (string, error) { |
|
|
|
return "", nil |
|
|
|
} |
|
|
|
|
|
|
|
func (c *OSSClient) AbortMultipartUpload() { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
func (c *OSSClient) Close() { |
|
|
|
// 关闭client |
|
|
|
|
|
|
|
} |