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。
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。