Skip to content

yangluoGitHub/cos-go-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status GoDoc ##cos-go-sdk 简介

##环境

  • cos-go-sdk 推荐使用 Go 1.2 及以上 Go 语言版本。
  • Windows,Linux,Mac OS X

##安装

go get github.com/yangluoGitHub/cos-go-sdk

##https支持

##API 文档 GoDoc

##快速入门

创建目录

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.CreateFolder("/cos-go-sdk/createFolder/test/", "test")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nCtime:", res.Data.Ctime,
		"\nResource Path:", res.Data.ResourcePath)

创建文件(完整上传)

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.Upload("../test/test.jpg", "/cos-go-sdk/upload/test.jpg", "upload test")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nUrl:", res.Data.Url,
		"\nResourcePath:", res.Data.ResourcePath,
		"\nAccess Url:", res.Data.AccessUrl)

创建文件(分片上传)

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	//用户指定分片大小来分片上传
	res, err := bucket.Upload_slice("../test/data.bin", "/cos-go-sdk/upload_slice/data.bin", "upload_slice test", 3*1024*1024, "")
	//上传失败,重新上传,不论是否指定session,都可以实现断点续传
	// res, err := bucket.Upload_slice("../test/data.bin", "/cos-go-sdk/upload_slice/data.bin", "upload_slice test", 3*1024*1024, "48d44422-3188-4c6c-b122-6f780742f125+CpzDLtEHAA==")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nUrl:", res.Data.Url,
		"\nResourcePath:", res.Data.ResourcePath,
		"\nAccess Url:", res.Data.AccessUrl)

目录列表

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.ListFolder("/cos-go-sdk/createFolder/test/", 20, coscloud.ELISTBOTH, coscloud.Asc, "")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nContext:", res.Data.Context,
		"\nHasMore:", res.Data.HasMore,
		"\nDirCount:", res.Data.DirCount,
		"\nFileCount:", res.Data.FileCount,
	)
	fmt.Println("=================================")
	for _, info := range res.Data.Infos {
		fmt.Println("Name:", info.Name,
			"\nBizAttr:", info.BizAttr,
			"\nFileSize:", info.FileSize,
			"\nFileLen:", info.FileLen,
			"\nSha:", info.Sha,
			"\nCtime:", info.Ctime,
			"\nMtime:", info.Mtime,
			"\nAccess URL:", info.AccessUrl,
		)
		fmt.Println("=================================")
	}

前缀搜索

  	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.PrefixSearch("/cos-go-sdk", 20, coscloud.ELISTBOTH, coscloud.Asc, "")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nContext:", res.Data.Context,
		"\nHasMore:", res.Data.HasMore,
		"\nDirCount:", res.Data.DirCount,
		"\nFileCount:", res.Data.FileCount,
	)
	fmt.Println("=================================")
	for _, info := range res.Data.Infos {
		fmt.Println("Name:", info.Name,
			"\nBizAttr:", info.BizAttr,
			"\nFileSize:", info.FileSize,
			"\nFileLen:", info.FileLen,
			"\nSha:", info.Sha,
			"\nCtime:", info.Ctime,
			"\nMtime:", info.Mtime,
			"\nAccess URL:", info.AccessUrl,
		)
		fmt.Println("=================================")
	}

目录信息更新

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.UpdateFolder("/cos-go-sdk/createFolder/test/", "update-attr")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code, "\nMessage:", res.Message)

文件信息更新

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.Update("/cos-go-sdk/upload/test.jpg", "update-attr")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code, "\nMessage:", res.Message)

目录信息查询

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.StatFolder("/cos-go-sdk/createFolder/test/")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nName:", res.Data.Name,
		"\nBizAttr:", res.Data.BizAttr,
		"\nCtime:", res.Data.Ctime,
		"\nMtime:", res.Data.Mtime)

文件信息查询

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.Stat("/cos-go-sdk/upload/test.jpg")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code,
		"\nMessage:", res.Message,
		"\nName:", res.Data.Name,
		"\nBizAttr:", res.Data.BizAttr,
		"\nFileSize:", res.Data.FileSize,
		"\nFileLen:", res.Data.FileLen,
		"\nSha:", res.Data.Sha,
		"\nCtime:", res.Data.Ctime,
		"\nMtime:", res.Data.Mtime,
		"\nAccess Url:", res.Data.AccessUrl)

删除目录

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.DelFolder("/cos-go-sdk/createFolder/test/")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code, "\nMessage:", res.Message)

删除文件

	//new bucket Object
	bucket, _ := coscloud.New(appId, secretId, secretKey, bucketName)
	res, err := bucket.Del("/cos-go-sdk/upload/test.jpg")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Code:", res.Code, "\nMessage:", res.Message)

##完整示例

更多示例请查看 examples 目录

##项目文档

针对每个 API 接口需要有独立的接口文档,请查看 docs 目录。

About

tencentyun cos go sdk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages