oss服务怎么获取私有的url地址[阿里云oss]

场景: 我把一个图片的读写权限从公共读修改成了私有读。

我需要获取图片私有读的url地址,怎么获取?

我使用sdk包中generatePresignedUrl获取url地址和私有的对不上,请问还有别的方法可以获取到吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
6 条回复 A 作者 M 管理员
  1. 可以检查一下参数是否正确设置,例如:

    • 检查过期时间是否设置合理,建议设置在 5 分钟以内。
    • 检查生成 URL 时的 bucket、object、endpoint 等参数是否正确。
    • 检查生成 URL 时使用的签名方法是否正确,应该使用 “GET” 请求方式,并使用AccessKeySecret 进行签名。
  2. 可以试试看使用SDK提供的 signUrl方法:Java SDK,我记得可以使用 signUrl 方法生成一个有限时效的带签名的URL地址,该URL地址可以用于访问OSS的私有资源。

  3. 在OSS 控制台找到你的目标图片,单击对应的 获取地址 链接,会弹出对话框提供访问该文件的URL地址。如您的bucket的读写权限为 私有,则在您获取文件访问URL时需设置链接有效时间。

  4. OSS服务获取图片私有URL地址,有两种方式,

    一种是可以通过OSS控制台直接点击图片【详情】 在打开的页面中点击【复制URL】即可得到私有读的URL地址。

    还有一种方式是通过参考签名URL的组成,调用SDK或自行代码完成获取请求,具体操作可以参考官方文档:在URL中包含签名

  5. 单击目标文件对应的 获取地址 链接,会弹出对话框提供访问该文件的URL地址

  6. 在阿里云 OSS 中将图片的读写权限从公共读修改成私有读后,你需要使用签名 URL 获取图片的私有读 URL 地址。签名 URL 可以在特定时间内让用户访问私有文件,而不需要将文件设置为公共读或公共写。

    你可以按照以下步骤获取 OSS 中图片的私有读 URL 地址:

    1. 登录阿里云控制台,进入 OSS 控制台。

    2. 找到你要访问的 OSS bucket 和图片对象,并点击该对象。

    3. 在“对象摘要”页面中,单击“复制 URL”按钮,将图片的地址复制到剪贴板中。

    4. 在你的代码中添加如下签名URL的方式,替换掉URL中的your_access_key_idyour_access_key_secret即可。

      https://your_bucket_name.oss-cn-hangzhou.aliyuncs.com/your_object_name?Expires=1552585539&OSSAccessKeyId=your_access_key_id&Signature=your_signature

      其中:

      • your_bucket_name: 你的 OSS 存储空间名称。
      • your_object_name: 你私有读对象的名称,需要包括路径和文件名。
      • your_access_key_id: 你的阿里云 AccessKey ID。
      • your_access_key_secret: 你的阿里云 AccessKey Secret。
      • Expires: 签名 URL 的过期时间,以 Unix 时间戳表示。
      • Signature: 签名参数,需要使用你的阿里云 AccessKey Secret 计算签名。

      在浏览器中通过该URL地址访问文件时,将根据签名 URL 结构中的签名参数对请求进行验证,确保用户具有访问资源的权限。

  7. 可以检查一下对象的访问权限是否获得了