在删除文件夹和没有扩展名的Object的时候,总是返回 HTTP/1.1 204 No Content
请求如下:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
当您在使用阿里云对象存储OSS进行操作时,如果收到“HTTP/1.1 204 No Content”响应,这实际上是一个成功的响应状态码。这意味着您的请求已经被服务器成功处理了,但是没有返回任何实体内容(即没有具体的数据体返回)。在删除文件夹或无扩展名的对象时,这是一个预期的行为。
OSS中并没有真正的文件夹概念,所有的对象(包括看起来像文件夹的路径)都是以键值对的形式存储的。因此,当你尝试删除一个看似文件夹的路径时,OSS实际上是删除了该前缀下的所有对象(如果存在的话),然后返回204状态码表示操作成功,但不提供额外的内容。
对于无扩展名的对象,它和其他对象一样被处理,删除后同样会返回204状态码。
请求示例(这里以使用cURL命令为例):
curl -X DELETE \
-H "Date: `date -R`" \
-H "Authorization: OSS <yourAccessKeyId>:<yourSignature>" \
'https://<yourBucketName>.oss-cn-hangzhou.aliyuncs.com/<yourObjectKey>'
<yourAccessKeyId>
和 <yourSignature>
需要替换为您的实际访问密钥ID和经过签名计算的授权字符串。<yourBucketName>
是您的存储桶名称。<yourObjectKey>
是您要删除的对象的键名,无论是看起来像文件夹的路径还是无扩展名的对象。请确保在执行删除操作前已经正确设置了权限,并且确实想要删除这些数据,因为一旦删除,除非有版本控制或跨区域复制等备份措施,否则数据通常是无法恢复的。