如何解决为什么下载我的Blob会损坏?
所以我正在做的是使用PutBlock逐块上传视频。请求者向我发送按每个请求划分的4mb块的视频(如果视频为17mb,他/她将发送5个请求,上传4mb块)。我正在使用PutBlock方法“附加” blob ...当我从blob下载此视频时,它是坏的...但是,如果请求者仅向我发送3mb视频,则它没有坏... 请帮助...。
public async Task<CloudBlockBlob> AppendBlobOnAssetAsync(UploadRequest request)
{
using Stream stream = new MemoryStream();
request.File.CopyTo(stream);
stream.Position = 0;
var cloudBlobContainer = new CloudBlobContainer(request.InputAssetStorageUri);
var blockBlob = cloudBlobContainer.GetBlockBlobReference(request.BlobName);
var blockItems = new List<ListBlockItem>();
var blockItemIds = new List<string>();
if (request.BlockId > 0)
{
var blocks = await blockBlob.DownloadBlockListAsync();
blockItems = blocks.ToList();
blockItemIds = blockItems.Select(blockItem => blockItem.Name).ToList();
}
var blockId = Convert.ToBase64String(Encoding.UTF8.GetBytes(request.BlockId.ToString(CultureInfo.InvariantCulture).PadLeft(30,'0')));
blockBlob.PutBlock(blockId,stream,null);
blockItemIds.Add(blockId);
blockBlob.PutBlockList(blockItemIds);
return blockBlob;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。