当前位置: 首页 > news >正文

网站建设做网站广州讯博网络科技有限公司

网站建设做网站,广州讯博网络科技有限公司,网站备案容易吗,分析网站建设1 介绍 在项目开发中#xff0c;我们经常会使用对象存储#xff0c;比如 Amazon 的 S3#xff0c;腾讯云的 COS#xff0c;阿里云的 OSS 等。本文我们以阿里云 OSS 为例#xff0c;介绍怎么使用 Go 操作对象存储。 阿里云 OSS 提供了 REST Api 和 OSS Go SDK#xff0…1  介绍 在项目开发中我们经常会使用对象存储比如 Amazon 的 S3腾讯云的 COS阿里云的 OSS 等。本文我们以阿里云 OSS 为例介绍怎么使用 Go 操作对象存储。 阿里云 OSS 提供了 REST Api 和 OSS Go SDK本文我们介绍使用 SDK 操作 OSS限于篇幅我们只介绍上传和下载。 2  上传 SDK 支持多种上传功能比如简单上传、追加上传、断点续传上传、分片上传等我们以简单上传为例介绍怎么使用 SDK 上传文件简单上传功能分为流式上传和文件上传两种方式。 所谓流式上传即使用文件流、网络流等作为 OSS 文件的数据源。 所谓文件上传即使用本地文件作为 OSS 文件的数据源。 在项目开发中流式上传文件流和网络流相对文件上传使用的场景比较少。限于篇幅我们只介绍文件上传这种方式。 在使用 SDK 之前我们需要先使用 go get 获取包也可以使用 go mod 方式然后在代码中导入。 go get github.com/aliyun/aliyun-oss-go-sdk/ossOSS 存储文件实际上是将文件存储到 Bucket 存储空间中SDK 提供了一些操作 Bucket 的方法。 在获取 Bucket 实例之前我们需要先获取 Client 实例。 func GetOssClient(endpoint, ak, sk string) (client *oss.Client, err error) {client, err  oss.New(endpoint, ak, sk)return }阅读上面这段代码我们通过 SDK 的 New 函数创建了一个 client 实例需要注意的是我们需要将 OSS 的 endpoint、ak 和 sk 作为参数传入 New 函数更多关于 client 的配置选项请查阅 OSS Go SDK 文档。 我们在获取到 client 之后可以使用 client 获取 bucket。 func GetBucket(client *oss.Client, bucketName string) (bucket *oss.Bucket, err error) {bucket, err  client.Bucket(bucketName)return }阅读上面这段代码我们通过 client 提供的 Bucket 方法将我们创建的 bucket 的名字作为参数传入该方法中创建了一个 bucket 实例然后我们就可以去使用 bucket 实例提供的方法。 我们也可以使用 client 实例提供的方法创建和删除 Bucket但在实际项目开发中一般都是让运维同事帮忙创建和删除很少在代码中操作。 接下来我们介绍几个 bucket 实例提供的方法。 场景一上传本地文件 在项目开发中经常会遇到需要用户上传本地文件的场景比如设置头像、上传身份证照片等。 我们以设置头像为例介绍如何将本地照片上传到 OSS。 示例代码 err  bucket.PutObjectFromFile(a.jpg, /Users/frank/Downloads/1.jpg) if err ! nil {fmt.Println(Error:, err)os.Exit(-1) }阅读上面这段代码我们使用 bucket 实例的 PutObjectFromFile 方法将本地的图片上传到 OSS 中该方法还可以传入第三个参数可选参数用于指定上传文件的属性。 场景二上传字符串 在项目开发中经常会遇到需要用户上传字符串的场景比如使用 OSS 存储文本内容。 我们以上传博客为例介绍如何将字符串上传到 OSS。 示例代码 blogConetnt : This is my first blog err  bucket.PutObject(my-first-blog.txt, strings.NewReader(blogConetnt)) if err ! nil {fmt.Println(Error:, err)os.Exit(-1) }阅读上面这段代码我们使用 bucket 实例的 PutObject 方法将字符串上传到 OSS 中该方法还可以传入第三个参数可选参数用于指定上传文件的属性。 场景三上传字节切片 在项目开发中经常会遇到将字节切片格式的数据上传到 OSS 中比如将 json.Marshal() 的字节切片上传到 OSS 中。 示例代码 user : struct {UserId   int64  json:user_idUserName string json:user_nameEmail    string json:email }{UserId:   10001,UserName: frank,Email:    gopher88.com, } userData, _ : json.Marshal(user) err  bucket.PutObject(user.txt, bytes.NewReader(userData)) if err ! nil {fmt.Println(Error:, err)os.Exit(-1) }阅读上面这段代码我们使用 bucket 实例的 PutObject 方法将 json.Marshal() 的字节切片上传到 OSS 中。 我们也可以使用 bucket 实例的 PutObject 方法上传本地文件但是一般都是使用 PutObjectFromFile 方法。 3  下载 OSS Go SDK 同样支持多种下载方式相比文件上传在实际项目开发中文件下载的使用场景并不多一般都是查询读取文件。 为了文章的完整我们介绍了文件上传也顺带简单介绍一下文件下载。 关于文件下载SDK 也是支持流式下载和本地文件下载本文我们以本地文件下载为例介绍怎么使用 SDK 下载 OSS 中的文件到本地。 示例代码 err  bucket.GetObjectToFile(a.jpeg, /Users/frank/Downloads/oss.jpeg) if err ! nil {fmt.Println(Error:, err)os.Exit(-1) }阅读上面这段代码我们使用 bucket 实例的 GetObjectToFile 方法将 OSS 中的文件 a.jpeg 下载到本地。 4  总结 本文我们介绍 Go 怎么操作 OSS 阿里云对象存储主要介绍了 OSS Go SDK 关于文件上传和文件下载的几个方法建议感兴趣的读者朋友们阅读 OSS Go SDK 和OSS Go SDK Api 的相关文档自己尝试写文件查询的代码。
http://www.w-s-a.com/news/835608/

相关文章:

  • 苏州网站建设都找全网天下外贸响应式网站设计
  • 揭阳专业做网站网站迁移教材
  • 手机上怎么上传网站吗工程信息网站建设
  • 用手机建网站微信手机网站流程
  • 专注软件优化分享的网站梧州网页设计
  • 长春火车站和高铁站是一个站吗公司名称注册查询系统
  • 便利的集团网站建设网页的依托网站
  • 茶叶网站建设题库制作助手app
  • 网站建设栏目层级北京网站搭建公司电话
  • 网站开发运营经理打开百度竞价页面是网站是什么
  • 国内最专业的设计网站建设现在用什么语言做网站
  • 湖南网站开发 岚鸿象山县建设工程招投标网站
  • 长沙免费网站排名wordpress 教学
  • 专门做app的网站html代码是什么
  • 临沂网站制作建设欧米茄表官网
  • 北京模板网站开发全包网站建设的第三方平台
  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站
  • 怎样建一个自己公司的网站制作网站需要钱吗
  • 联盟网站制作wap网站制作公司
  • 美丽乡村建设发展论坛网站wordpress 仿站 教程网
  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展