0

我究竟做错了什么?我有授权,我有存储桶,我有文件但我无法上传它,而且它太大而无法使用 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;
4

1 回答 1

0

似乎您正在使用.Net Forge SDK和 C#。

使用块的示例位于此处

一个块至少需要 2Mb(我们建议最小 5Mb,但系统强制要求 2Mb)。只有最后一块可以小于 2 Mb - 有关详细信息,请参阅本文

似乎您计算块长度的数学不正确,当使用上面列出的示例时,我会打印块范围定义,因此您可以与您的进行比较。

希望能帮助到你,

于 2017-02-16T11:18:09.723 回答