UploadObjectAsync() 方法如何工作?

How does the UploadObjectAsync() method work?

https://forge.autodesk.com/en/docs/bim360/v1/tutorials/documen-management/upload-document/

我正在按照上面的教程通过 Autodesk Forge 将文件上传到 BIM 360 文件夹。我已到达 第 6 步:将文件上传到存储对象,我正在尝试使用方法 UploadObjectAsync() 上传文件,但我我收到一条错误消息:在 'System.Web.HttpInputStream' 上从 'ReadTimeout' 获取值时出错,我不确定如何解决此问题。

我是用错了方法还是代码中遗漏了什么?以下是我在 .NET 上使用的方法。

HttpPostedFile file = req.Files[0];
ObjectsApi objectsApi = new ObjectsApi();
dynamic objects = await objectsApi.UploadObjectAsync(bucketKey, objectName, file.ContentLength, file.InputStream);

尝试使用文件中 StreamReader 的基础流来上传,而不是来自多部分形式的原始 InputStream

using (StreamReader streamReader = new StreamReader(fileSavePath))
{
    await objects.UploadObjectAsync(bucketKey, objectName,(int)streamReader.BaseStream.Length, streamReader.BaseStream, "application/octet-stream");
    ...
}

鉴于 UploadObjectAsync 及其链式方法 UploadObjectAsyncWith(代码 here) is implemented you'd better saved the posted file and then upload it instead of piping streams. See an example here