UploadChunk Autodesk API
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;
您似乎正在使用 .Net Forge SDK 和 C#。
使用块的示例位于 here
块至少需要 2Mb(我们建议最小 5Mb,但系统强制要求 2Mb)。只有最后一块可以小于 2 Mb - 详见 this article。
看来你计算块长度的数学不正确,当使用上面列出的示例时,我确实打印了块范围定义,因此你可以与你的进行比较。
希望对您有所帮助,
我做错了什么? 我有授权,我有存储桶,我有文件但无法上传,而且它太大而无法使用 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;
您似乎正在使用 .Net Forge SDK 和 C#。
使用块的示例位于 here
块至少需要 2Mb(我们建议最小 5Mb,但系统强制要求 2Mb)。只有最后一块可以小于 2 Mb - 详见 this article。
看来你计算块长度的数学不正确,当使用上面列出的示例时,我确实打印了块范围定义,因此你可以与你的进行比较。
希望对您有所帮助,