如何添加从存储桶中删除对象的方法?
Posted
技术标签:
【中文标题】如何添加从存储桶中删除对象的方法?【英文标题】:How to add a method to delete a object from the bucket? 【发布时间】:2019-06-26 01:30:07 【问题描述】:我想创建一种方法来从存储桶中删除已上传的对象。有一种方法可以将对象上传到存储桶中,但没有删除它们的方法。告诉我该怎么做?
我是为查看器 autodesk Forge 做的,其源代码从 here 下载。
我试着自己做,但我失败了。下载的源代码没有变化,但无论如何我都可以展示我不成功的代码。
// POST /api/forge/oss/buckets - delete file.
router.post('/objects', multer( dest: 'delete/' ).single('fileToDelete'), async (req, res, next) =>
fs.readFile(req.file.path, async (err, data) =>
if (err)
next(err);
try
// Upload an object to bucket using [ObjectsApi](https://github.com/Autodesk-Forge/forge-api-nodejs-client/blob/master/docs/ObjectsApi.md#uploadObject).
await new ObjectsApi().deleteObject(req.body.bucketKey, req.file.originalname);
res.status(200).end();
catch(err)
next(err);
);
);
<form id="upLoadFile" method='post' enctype="multipart/form-data">
<input id="hiddenUploadFiled" type="file" name="theFile" style="visibility:hidden" />
</form>
我希望有一种方法可以添加一种方法来从存储桶中删除加载的对象。
【问题讨论】:
不是解决方案,但您确实应该使用“删除”而不是“发布” 我也试过了。 【参考方案1】:也尝试传入您的 oauth 凭据:
objectsApi.deleteObject(bucketKey,fileName,oAuth2TwoLegged, oAuth2TwoLegged.getCredentials());
请参阅deleteObject
here 和代码示例here 的用法文档
当您说您下载了源代码时,如果您可以通过 NPM 安装我们最新的 Forge Node 客户端 SDK 并将所需的模块导入您的项目中,那么事情会变得容易得多。见说明here
【讨论】:
Bryan Huang,非常感谢。但是我有一个问题,我用的是axios,如何在查看器中添加一些模型? 使用 axios 只需使用 DELETE 动词来调用我们的端点,例如axios.delete('https://developer.api.autodesk.com/oss/v2/buckets/yourBucketName/objects/yourObjectName', 'authorization': 'Bearer yourAccessToken')
。可以在我的答案中查看文档以获取 API 详细信息。以上是关于如何添加从存储桶中删除对象的方法?的主要内容,如果未能解决你的问题,请参考以下文章