【golang】go获取腾讯云cos对象存储 并转为base64字符串输出

这篇具有很好参考价值的文章主要介绍了【golang】go获取腾讯云cos对象存储 并转为base64字符串输出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、准备

1、我们需要引入cos go sdk

需要引入腾讯云cos的sdk
https://github.com/tencentyun/cos-go-sdk-v5

2、编码

配置yaml如下:

Cos:
  SecretId: "xxx"
  SecretKey: "xxx"
  Domain: "https://你的.cos.ap-beijing.myqcloud.com"
  Prefix: "桶前缀"
  AppId: "xxx"

go代码编写如下:文章来源地址https://www.toymoban.com/news/detail-504412.html

func  GetCosImg2Base64(string imgStr) (string, error) {
	u, _ := url.Parse(l.svcCtx.Config.Cos.Domain)
	b := &cos.BaseURL{BucketURL: u}
	client := cos.NewClient(b, &http.Client{
		Transport: &cos.AuthorizationTransport{
			// 通过环境变量获取密钥
			// 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi
			SecretID: l.svcCtx.Config.Cos.SecretId,
			// 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。
			//子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
			// 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi
			SecretKey: l.svcCtx.Config.Cos.SecretKey,
			// 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。
			//子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
		},
	})
	// 因为数据库存的都是带所有前缀的:/桶前缀/itrarace/6734/xxx.gif
	resp, err := client.Object.Get(context.Background(), imgStr, nil)
	if err != nil {
		//os.Exit(-1)
		l.Logger.Errorf(err.Error())
		return nil, xerr.NewErrCode(xerr.COS_DEL_SINGLE_ERROR)
	}
	defer resp.Body.Close()

	var buf bytes.Buffer
	_, err = io.Copy(&buf, resp.Body)
	if err != nil {
		l.Logger.Errorf(err.Error())
		return nil, xerr.NewErrCode(xerr.COS_DEL_SINGLE_ERROR)
	}

	// 将图片转为 base64
	//fmt.Println(resp.ContentLength)
	//imageContent := make([]byte, resp.ContentLength)
	 复制响应的 Body 到文件中
	//resp.Body.Read(imageContent)
	imageBase64 := base64.StdEncoding.EncodeToString(buf.Bytes())
	//fmt.Println(imageBase64)

	return imageBase64, nil
}

到了这里,关于【golang】go获取腾讯云cos对象存储 并转为base64字符串输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2023新教程】树莓派定时自动拍照并上传腾讯云对象存储COS

    仅适用于 Release date: May 3rd 2023、Debian version: 11 (bullseye) 这个树莓派OS版本,其他版本不保证有效。 首先使用如下命令,查看自己树莓派的架构。 结果如下: 如果红圈处显示为 aarch64 ,使用命令 sudo nano /etc/apt/sources.list ,注释掉里面的所有内容,加入以下内容: 然后保存。

    2024年02月12日
    浏览(45)
  • 腾讯云国际-如何使用对象存储COS在 CKafka 控制台创建数据异步拉取任务?腾讯云代充

    Datahub 支持接入各种数据源产生的不同类型的数据,统一管理,再分发给下游的离线/在线处理平台,构建清晰的数据通道。 本文以 COS 数据为例介绍如何在 CKafka 控制台创建数据异步拉取任务,并对任务进行修改配置,帮助用户更好地了解数据接入功能。 关联unirech注册腾讯云

    2024年02月08日
    浏览(62)
  • 腾讯云COS存储是什么_腾讯云COS有什么用?

    由于这是给新手写的东西,就尽量整得简单易懂些吧。 作为国内第二大的云服务厂商,安全性,可靠性这些东西就不用过多做介绍了(这里并非说他绝对安全,而是比那些小平台的安全性高N个级别) 腾讯云COS与隔壁阿里云的OSS都是提供对象存储的服务,(即文件存储)。比

    2024年02月11日
    浏览(36)
  • 腾讯云存储COS

    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种

    2024年02月12日
    浏览(47)
  • 【base64】JavaScript&uniapp 将图片转为base64并展示

    Base64是一种用于编码二进制数据的方法,它将二进制数据转换为文本字符串。它的主要目的是在网络传输或存储过程中,通过将二进制数据转换为可打印字符的形式进行传输  图片大小从1.36MB到169kb 上面的代码中,toDataURL产生的是图片的base64编码,Base64编码必须是完整且正确

    2024年02月11日
    浏览(47)
  • [php-cos]ThinkPHP项目集成腾讯云储存对象COS

    Cos技术文档 1、安装phpSdk 通过composer的方式安装。 1.1 在composer.json中添加 qcloud/cos-sdk-v5: =2.0 将composer.lock删除,然后运行composer install 就安装成功了。 查看vendor中的是否存在qcloudcos-sdk-v5,安装包中有使用的例子:sample文件夹中。 2、添加配置文件 3、编写cos工具类 测试: pos

    2024年02月15日
    浏览(58)
  • 【base64码转为图片,并预览】

    开发工具及需求介绍 (1)开发工具:HBuilder (2)数据库:SQLite (3)组件库:uni-app (4)需求:(后端)将图片信息加密,前端接收到的是一个base64码。前端需要利用这些信息,转成 image src=\\\"imageURL\\\"/image 中的imageURL,以便能显示出图片。后端返回的信息,我们必需要的是”图

    2024年02月05日
    浏览(51)
  • react将文件转为base64进行上传

    将 图片、pdf、word、excel等文件 进行上传。图片、pdf等调接口A、word、excel等附件调接口B。接口关于文件是 base64格式 的参数 上传资源,区分 影像与附件 使用原生input标签, type=\\\'file\\\' ,进行上传 上传后的回调,对文件进行分类,影像与附件 对文件进行base64编码 执行接口进行

    2024年02月10日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包