Как работает метод UploadObjectAsync()?
https://forge.autodesk.com/en/docs/bim360/v1/tutorials/documen-management/upload-document/
Я следую приведенному выше руководству, чтобы загрузить файл в папку BIM 360 через Autodesk Forge. Я достиг шага 6: загрузите файл в объект хранения, и я пытаюсь использовать метод UploadObjectAsync() для загрузки файла, но я получаю сообщение об ошибке: ошибка при получении значения из "ReadTimeout" в "System.Web.HttpInputStream" и я не уверен, как это исправить.
Я использую неправильный метод или в коде чего-то не хватает? Ниже приведен метод, который я использую в.NET.
HttpPostedFile file = req.Files[0];
ObjectsApi objectsApi = new ObjectsApi();
dynamic objects = await objectsApi.UploadObjectAsync(bucketKey, objectName, file.ContentLength, file.InputStream);
1 ответ
Попробуйте использовать основной поток StreamReader
из файла для загрузки, а не сырье InputStream
из многочастной формы:
using (StreamReader streamReader = new StreamReader(fileSavePath))
{
await objects.UploadObjectAsync(bucketKey, objectName,(int)streamReader.BaseStream.Length, streamReader.BaseStream, "application/octet-stream");
...
}
Учитывая, как UploadObjectAsync
и его цепной метод UploadObjectAsyncWith
(код здесь) реализован, вам лучше сохранить опубликованный файл, а затем загрузить его вместо потоковой передачи. Смотрите пример здесь.