解决go语言对接s3的SDK上传文件遇到的问题

先看正确的配置
在这里插入图片描述

问题1

配置文件中的OssEndpoint 不管是minio还是oss需要带上http://或者https://
否则会出现这个问题

operation error S3: PutObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Put

如:minio 应该填写 http://127.0.0.1:9000
oss 应该填写成 http://xx-cn-xx.xx.com

问题2

配置文件中的OSSType需要根据对接的情况进行配置 默认可配置成0

作用

主要是作用是配置UsePathStyle 是false还是true
如果没有这个的话

如果选择minio的话,会出现下面这个问题,因为默认的是虚拟主机模式

operation error S3: PutObject, https response error StatusCode: 0, RequestID: , HostID: , request send failed, Put “http://test.xxxx:9000/2/2?x-id=PutObject”: dial tcp: lookup test.xxx. hoost

具体看解释
在这里插入图片描述
翻译后大概就是下面的情况

当 S3UsePathStyle 被设置为 true 时,表示 S3 客户端将使用路径样式访问(Path-Style Access)。路径样式的访问格式如下:

http://<endpoint>/<bucket>/<key>

当 S3UsePathStyle 被设置为 false 时,表示 S3 客户端将使用虚拟主机样式访问(Virtual Hosted-Style Access)。虚拟主机样式的访问格式如下:

http://<bucket>.<endpoint>/<key>

默认情况下 会使用虚拟主机。所以会出现上述报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一枚开发小咸鱼

原创不宜,请作者喝杯咖啡吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值