从存储桶中删除文件
Deleting a file from a bucket
我正在尝试从存储桶中删除一个对象。阅读文档听起来非常简单,但我似乎无法让它工作。
我正在按照说明 here 尝试删除此对象,我可以使用 https://developer.api.autodesk.com/oss/v2/buckets/my-persistent-bucket/objects
:
查看
bucketKey => 'my-persistent-bucket'
objectKey => '--test2.dwg'
objectId => 'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'
sha1 => '477085439a60779064d91fd1971d53c77c7a163a'
size => (int) 188600
location => 'https://developer.api.autodesk.com/oss/v2/buckets/my-persistent-bucket/objects/--test2.dwg'
根据文档,我们使用这个端点:
https://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectName
哪里
:bucketKey
是 url 编码的 'my-persistent-bucket'
:objectName
是 url 编码的 'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'
我试过使用 PHP 的 urlencode()
和以下 base64 编码函数:
private function _base64url_encode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
对 :bucketKey
和 :objectName
进行编码,但无论我如何尝试对其进行编码,我总是得到:
404 : Object not found
任何人都可以帮助我了解我哪里出错了吗?
非常感谢
当然,在我做了一个 SO 之后 post 我找到了答案。
对于遇到相同问题的任何人,您必须使用 PHP 的 rawurlencode()
函数对 :objectName
进行编码,在我的示例 '--test2.dwg'
中,这只是文件名而不是 urlencode()
.
我正在尝试从存储桶中删除一个对象。阅读文档听起来非常简单,但我似乎无法让它工作。
我正在按照说明 here 尝试删除此对象,我可以使用 https://developer.api.autodesk.com/oss/v2/buckets/my-persistent-bucket/objects
:
bucketKey => 'my-persistent-bucket'
objectKey => '--test2.dwg'
objectId => 'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'
sha1 => '477085439a60779064d91fd1971d53c77c7a163a'
size => (int) 188600
location => 'https://developer.api.autodesk.com/oss/v2/buckets/my-persistent-bucket/objects/--test2.dwg'
根据文档,我们使用这个端点:
https://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectName
哪里
:bucketKey
是 url 编码的 'my-persistent-bucket'
:objectName
是 url 编码的 'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'
我试过使用 PHP 的 urlencode()
和以下 base64 编码函数:
private function _base64url_encode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
对 :bucketKey
和 :objectName
进行编码,但无论我如何尝试对其进行编码,我总是得到:
404 : Object not found
任何人都可以帮助我了解我哪里出错了吗?
非常感谢
当然,在我做了一个 SO 之后 post 我找到了答案。
对于遇到相同问题的任何人,您必须使用 PHP 的 rawurlencode()
函数对 :objectName
进行编码,在我的示例 '--test2.dwg'
中,这只是文件名而不是 urlencode()
.