我试图将文件上传到azure媒体服务(控制台应用程序),如果文件大小较少,我可以使用普通上传方法,如下所示
static public IAsset CreateAssetAndUploadSingleFile(AssetCreationOptions assetCreationOptions, string singleFilePath)
{
if (!File.Exists(singleFilePath))
{
Console.WriteLine("File does not exist.");
return null;
}
var assetName = Path.GetFileNameWithoutExtension(singleFilePath);
IAsset inputAsset = _context.Assets.Create(assetName, assetCreationOptions);
var assetFile = inputAsset.AssetFiles.Create(Path.GetFileName(singleFilePath));
Console.WriteLine("Upload {0}", assetFile.Name);
assetFile.Upload(singleFilePath);
Console.WriteLine("Done uploading {0}", assetFile.Name);
return inputAsset;
}
这会将文件上传到azure媒体服务,但是如果文件太大,想要将其拆分成块并需要上传,我应该做些什么改变才能实现这一目的只使用c#。
我已经看到一个链接,使用javascript(我不知道)gaurav's link来解释这个。我怎么能用c#实现类似的呢。
请帮忙。
答案 0 :(得分:0)
查看有关上传多个文件的部分。它允许您调整SDK内置的BobTransferClient使用的线程数
var blobTransferClient = new BlobTransferClient();
blobTransferClient.NumberOfConcurrentTransfers = 20;
blobTransferClient.ParallelTransferThreadCount = 20;
答案 1 :(得分:0)
另一种选择还可以是将SAS URL直接上传到Blob存储中的容器中,然后使用Azure Storage Net Data移动库作为AzCopy工具的底层组件。这允许您完全控制并行上传,块大小,并发线程等。为您提供所有功能和旋钮!