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 Мб - подробности смотрите в этой статье.
Похоже, ваша математика для вычисления длины фрагмента неверна. При использовании приведенного выше примера я распечатываю определения диапазона фрагментов, чтобы вы могли сравнить их с вашим.
Надеюсь, поможет,