问题描述
我们正在尝试通过模型衍生 API 将“更大”的模型上传到伪造存储桶。 此模型的文件大小为 956MB,扩展名为 .nwd
const uploadPromise = http(uploadUrl(socketId),{
method: 'PUT',data: Body,headers: {
'Content-Type': 'application/octet-stream',Authorization: `Bearer ${Forge.urns[socketId].autoDeskToken}`,},maxContentLength: 1024 * 1024 * 1024,timeout: 600000,})
{ Error: Request Failed with status code 408
at createError (/nodejs/node_modules/axios/lib/core/createError.js:16:15)
at settle (/nodejs/node_modules/axios/lib/core/settle.js:18:12)
at IncomingMessage.handleStreamEnd (/nodejs/node_modules/axios/lib/adapters/http.js:202:11)
at IncomingMessage.emit (events.js:203:15)
at IncomingMessage.EventEmitter.emit (domain.js:448:20)
at endReadableNT (_stream_readable.js:1145:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
网址似乎是正确的: https://developer.api.autodesk.com/oss/v2/buckets/-BUCKETNAME-/objects/-filename-.nwd
这个错误可能是什么原因?
这是客户遇到的问题。
亲切的问候, 托马斯
解决方法
有趣的是,错误代码 408 未列在端点的文档中:https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectName-PUT。错误代码很可能来自某个中间层(Apigee),而不是直接来自 Forge 服务器。
但是,要上传这么大的文件,我强烈建议您使用数据管理服务中提供的“可恢复上传”功能。您可以在我的 TypeScript 代码中找到可恢复上传如何工作的示例:https://github.com/petrbroz/vscode-forge-tools/blob/develop/src/commands/data-management.ts#L230-L272。