UploadChunk Autodesk API

Что я делаю неправильно? У меня есть авторизация, у меня есть корзина, у меня есть файл, но я не могу загрузить его, и он слишком велик для использования UploadObject.

вот часть загрузки моего кода

using (StreamReader streamReader = new StreamReader(filePath))
            {   Byte[] buffer = new Byte[2097153];
                var QtdeBytesFaltantes = streamReader.BaseStream.Length;
                var byteInicio = 0;
                var byteFim = 0;
                while (QtdeBytesFaltantes > 0)
                {
                    byteFim = await streamReader.BaseStream.ReadAsync(buffer, 0, buffer.Length);
                    await objectsApi.UploadChunkAsync(bucketKey,
                        Path.GetFileName(filePath),
                        (int)streamReader.BaseStream.Length,
                        "bytes " + byteInicio + "-" + byteFim + "/" + (int)streamReader.BaseStream.Length,
                        "IdUnicoDaSessao",
                        streamReader.BaseStream);

                    QtdeBytesFaltantes -= buffer.Length;
                    byteInicio = byteFim + 1;
                }

                dynamic response = await objectsApi.GetObjectAsync(bucketKey, Path.GetFileName(filePath));

                return response;

1 ответ

Решение

Кажется, вы используете .Net Forge SDK и C#.

Пример использования кусков находится здесь

Размер чанка должен составлять не менее 2 МБ (мы рекомендуем не менее 5 МБ, но система должна обеспечивать 2 МБ). Только последний кусок может быть меньше 2 Мб - подробности смотрите в этой статье.

Похоже, ваша математика для вычисления длины фрагмента неверна. При использовании приведенного выше примера я распечатываю определения диапазона фрагментов, чтобы вы могли сравнить их с вашим.

Надеюсь, поможет,

Другие вопросы по тегам