从存储桶中删除文件

时间:2016-09-23 11:03:34

标签: autodesk-forge autodesk-data-management

我试图从存储桶中删除对象。阅读文档听起来非常简单,但我似乎无法让它发挥作用。

我按照说明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的网址为'my-persistent-bucket'

:objectName的网址为'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

有人能帮我理解我出错的地方吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

当然,在我发了一篇SO后,我找到了答案。

对于遇到相同问题的任何人,您必须使用PHP的:objectName函数而不是'--test2.dwg'对我的示例rawurlencode()中的urlencode()进行编码,这只是文件名。