访问OSS图片处理URL时出现“NoSuchStyle, NoSuchKey, NoSuchFile”三种报错

问题描述

在访问阿里云对象存储OSS图片处理URL时,返回以下错误码:

  • NoSuchStyle详细错误信息为No Such Image Style

  • NoSuchKey详细错误信息为The specified key does not exist

  • NoSuchFile。

问题原因

根据以上报错提示,错误原因如下:

  • NoSuchStyle:由于该图片样式不存在。

  • NoSuchKey:

    • Object命名不符合规范。

    • 触发生命周期管理规则,导致Object被删除。

    • Object被其他具有合法权限的用户通过OSS控制台、OSS客户端或API等方式删除。

    • 目标Bucket与其他Bucket存在跨区域复制关系,其他Bucket中执行的删除操作被同步到目标Bucket中,此时Object也会被删除。

  • NoSuchFile:如果用图片处理服务处理一个不存在的图片文件,会出现NoSuchFile问题。

解决方案

根据以上错误原因,参见以下操作进行处理:

NoSuchStyle

在进行OSS图片处理时,如果您需要在一个样式(Style)中包含多个图片处理参数,建议您创建样式,以便快速实现复杂的图片处理操作。详情请参见图片样式

NoSuchKey

  • 确保请求的Object命名符合规范。Object名称不能以正斜线(/)或者反斜线(\)开头,需使用UTF-8编码,且长度必须在1~1023字符之间。

  • 检查OSS设置的生命周期规则,确认请求的Object未触发删除规则,详情请参见设置生命周期规则

  • 确认其他具有合法权限的用户未删除请求的Object。

  • 检查Bucket配置的跨区域复制规则,确认请求的Object未被删除,详情请参见设置跨区域复制

NoSuchFile

您可以查看图片的访问和操作记录,确认文件是否被删除,如果被删除,请通过OSS控制台等方式上传指定的图片即可。更多信息,参见访问对象存储OSS的过程中如何查询Object的访问和操作记录

适用于

  • 对象存储OSS