Как работает метод UploadObjectAsync ()? - PullRequest
0 голосов
/ 19 декабря 2018

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 Ответ

0 голосов
/ 20 декабря 2018

Попробуйте использовать базовый поток StreamReader из файла для загрузки вместо необработанного InputStream из многочастной формы:

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

Учитывая, как UploadObjectAsync и его цепочечный метод UploadObjectAsyncWith (код здесь ) реализован, вам лучше сохранить опубликованный файл, а затем загрузить его вместо потоковой передачи.Смотрите пример здесь .

...