0

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);
4

1 回答 1

1

尝试使用StreamReader来自文件的底层流来上传,而不是InputStream来自多部分表单的原始流:

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

鉴于 theUploadObjectAsync及其链式方法UploadObjectAsyncWith此处的代码)是如何实现的,您最好保存发布的文件,然后上传它而不是管道流。请参阅此处的示例。

于 2018-12-20T03:49:59.103 回答