Autodesk Forge uploadObject API 无法上传文件 30MB 到 100MB 文件

Posted

技术标签:

【中文标题】Autodesk Forge uploadObject API 无法上传文件 30MB 到 100MB 文件【英文标题】:Autodesk Forge uploadObject API fails to upload a file 30MB to 100MB files 【发布时间】:2020-07-27 07:49:53 【问题描述】:

我正在使用 ForgeSample 项目在本地上传文件,但我无法上传大于 20MB 的文件。我尝试过的最大文件是 84MB 和 52MB 文件,这小于建议的大小,然后才应该使用可恢复上传端点。我没有收到任何错误,只是没有上传。一旦我尝试上传另一个小文件(20MB 或更少)并刷新,一切都加载得很好。链接到我使用的示例项目 (https://learnforge.autodesk.io/#/datamanagement/oss/)。

我编写了自己的代码并遇到了同样的问题,这促使我尝试上面的示例,看看我所做的事情是否有所不同。

所以我的问题是,如果我的文件远小于 100MB,我是否必须使用可恢复端点,如果不是,我该如何成功地做到这一点?

如果我必须使用可恢复上传,是否有一个示例允许您将文件从 AWS S3 等存储服务流式传输到 OSS。我看到的示例假设您是从客户端上传的。我问是因为这是我的最终目标,因为我可以成功地将小文件从 S3 传输到 OSS,但不能满足前面提到的大小。我将不胜感激任何帮助或正确方向的观点。谢谢。

Snapshot of Sample

【问题讨论】:

可能服务器限制了上传大小。你用的是哪一个? 【参考方案1】:

试试buckets/:bucketKey/objects/:objectName/resumable

然后您可以将较大的文件拆分成块,并在每个请求的标头中指定一个范围以上传块以避免超时和其他网络问题,例如:

curl -v "https://developer.api.autodesk.com/oss/v2/buckets/bucketexamplekey/objects/objectKeyFoo/resumable"
  -X PUT
  -H "Authorization:Bearer p0vNqwggSc4EOJdhR4KkTVyJFIzQ"
  -H "Content-Type:text/plain; charset=UTF-8"
  -H "Content-Range:bytes 1-15/100"
  -H "Session-Id:-811577637"
  --data ...

您也可以尝试以下这些工具以分块上传大对象:

Forge Tools Hub(指导here) Forge Node CLI Forge VSCode Plugin

【讨论】:

以上是关于Autodesk Forge uploadObject API 无法上传文件 30MB 到 100MB 文件的主要内容,如果未能解决你的问题,请参考以下文章

添加 Autodesk forge 扩展

如何在 Forge Viewer 中激活“Autodesk.MemoryLimited”扩展?

Autodesk forge 自定义几何图形

Autodesk Forge 设计自动化

Autodesk-forge 不接受 cURL 请求范围

Autodesk Forge 扩展