阿里云oss如果是私有的图片,获取的时候能不能获取处理的图片?-灵析社区

代码剑客行

阿里云oss如果是私有的图片,获取的时候能不能获取处理的图片,原图太大,能不能获取缩略图。 获取前面得url之后在后面添加图片处理参数,不可以`?x-oss-process=image/resize,h_100,m_lfit` 还是说私有的只能获取原图

阅读量:128

点赞量:0

问AI
你可以看看阿里的官方文档,你在生成签名时把参数加上就行 SDK处理方法,以go版本为例: package main import ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func HandleError(err error) { fmt.Println("Error:", err) os.Exit(-1) } func main() { // 创建OSSClient实例。 // yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。 // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 client, err := oss.New("yourEndpoint", "yourAccessKeyId", "yourAccessKeySecret") if err != nil { HandleError(err) } // 指定图片所在Bucket的名称,例如examplebucket。 bucketName := "examplebucket" bucket, err := client.Bucket(bucketName) if err != nil { HandleError(err) } // 指定图片名称。如果图片不在Bucket根目录,需携带文件完整路径,例如exampledir/example.jpg。 ossImageName := "exampledir/example.jpg" // 生成带签名的URL,并指定过期时间为600s。 signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 600, oss.Process("image/format,png")) if err != nil { HandleError(err) } else { fmt.Println(signedURL) } } 其中,yourAccessKeyId,yourAccessKeySecret的来源参考该文,阿里云OSS上传报错: You have no right to access this object because of bucket acl。创建完用户需要创建AccessKeyId,接着就可以创建yourAccessKeyId和AccessKeySecret。 最后会生成完整的图片链接,注意,如果发现链接中多出了bucket,需要排查yourEndpoint是否已经加上了bucket,需要删除掉。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240929/86ee4290e2deb891d767df41e4e2a146.png) "https://help.aliyun.com/zh/oss/user-guide/img-implementation-..." (https://link.segmentfault.com/?enc=00WB41RrCSx7VvQy2YsocA%3D%3D.Vz0URmMwg4gBGxhAUzfopwROW%2FNdjiB6waUfdViZnVsnoRO9U8u1Vr5wfY4BNjTs9qCZKy6iPo2u5yFKC9by3sN2EuJdEoC1hfDnJPY81b2fMkVUobApe0%2BkgQuBrm%2Fg)