当前位置: 首页 > 知识库问答 >
问题:

前端 - 阿里云oss如果是私有的图片,获取的时候能不能获取处理的图片?

阎修杰
2024-05-10

阿里云oss如果是私有的图片,获取的时候能不能获取处理的图片,原图太大,能不能获取缩略图。

获取前面得url之后在后面添加图片处理参数,不可以?x-oss-process=image/resize,h_100,m_lfit

还是说私有的只能获取原图

共有2个答案

卫沈义
2024-05-10

很遗憾,阿里云OSS私有Bucket只能获取原图,官方没有提供参数式的实时处理: 包括它的SDK、OssUtil都不支持。

明白你的需求,你想:低成本的展示预览图(小图),需要的时候再下载原图。
阿里云的实现是在Oss和用户中间加了一层预处理层,你也可以按照这个思路来,并且兼容阿里云的参数语法, 如果是nodejs开发可以考虑使用 sharp 这个图像库,能满足所有常见网络图片处理需求。

谭云瀚
2024-05-10

你可以看看阿里的官方文档,你在生成签名时把参数加上就行

SDK处理方法,以go版本为例:

package mainimport (    "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://help.aliyun.com/zh/oss/user-guide/img-implementation-...

 类似资料:
  • 本文向大家介绍SpringBoot集成阿里云OSS图片上传,包括了SpringBoot集成阿里云OSS图片上传的使用技巧和注意事项,需要的朋友参考一下 简述 最近做的公司项目,图片比较多,不想给其存储到自己服务器上,就买了阿里云的OSS服务器来哦进行存储,其实集成第三方平台,一般没什么难度,当然,你要仔细看对方的API文档,这篇主要说一下个人集成OSS的过程 步骤 1、pom.xml中添加OSS的

  • 输入某个网址url,可以提取对应网页的所有图片,并以缩略图展示出来,点击缩略图可查看原图。 [Code4App.com]

  • 本文向大家介绍php版阿里云OSS图片上传类详解,包括了php版阿里云OSS图片上传类详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php版阿里云OSS图片上传类。分享给大家供大家参考,具体如下: 1.阿里云基本函数 2.基本配置与辅助函数 3.主函数 4.核心处理函数 5.辅助函数 总结:与普通上传的区别在于,它是全部通过阿里云的oss接口来处理文件保存的。普通上传是把本地文件移动

  • 看网上的方法大多是这样的 然后可以在img.load () {} 获取到上传图片的宽高 但是呢更到线上后,上传图片就被拦截了,blob不太行,所以想问一下有不通过blob的方式获取到上传图片的宽高吗,报错信息大致是 有啥解决办法呢,只想获取图片的宽高~~~

  • cmf_get_image_url($file, $style = '') 功能 转化数据库保存图片的文件路径,为可以访问的url 参数 $file: string 文件路径,数据存储的文件相对路径 $style: string 图片样式,支持各大云存储 返回 string 图片链接 例子 <?php // 数据存储的文件相对路径 $image_filepath='portal/12341234

  • cmf_get_content_images($content) 功能 获取html文本里的图片列表 参数 $content: string html 内容 返回 array 图片列表 数组item格式: [ "src"=>'图片链接', "title"=>'图片标签的 title 属性', "alt"=>'图片标签的 alt 属性' ]