本文介绍如何删除文件。
警告 请您谨慎使用删除操作,文件一旦删除将无法恢复。
删除文件的完整代码请参见GitHub。
删除单个文件
以下代码用于删除单个文件:
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
// 创建OSSClient实例。
client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
bucketName := "<yourBucketName>"
objectName := "<yourObjectName>"
// 获取存储空间。
bucket, err := client.Bucket(bucketName)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// 删除单个文件。
err = bucket.DeleteObject(objectName)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
}
删除多个文件
您可以通过Bucket.DeleteObjects
来删除多个文件,并通过DeleteObjectsQuiet
参 数来指定是否返回删除的结果。默认返回删除成功的文件。
以下代码用于批量删除文件:
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
// 创建OSSClient实例。
client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
bucketName := "<yourBucketName>"
// 获取存储空间。
bucket, err := client.Bucket(bucketName)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// 返回删除成功的文件。
delRes, err := bucket.DeleteObjects([]string{"my-object-1", "my-object-2"})
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
fmt.Println("Deleted Objects:", delRes.DeletedObjects)
// 不返回删除的结果。
_, err = bucket.DeleteObjects([]string{"my-object-3", "my-object-4"},
oss.DeleteObjectsQuiet(true))
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
}