C# 如何将文件上载到blob容器?
我正在努力学习如何使用BLOB。有了这段代码,我想上传我的文本文件。我没有错误。所有可能的情况是在容器中找不到该文件。我以前也读过类似的问题,但没有人使用这种方法 我错过了什么C# 如何将文件上载到blob容器?,c#,azure,azure-storage-blobs,C#,Azure,Azure Storage Blobs,我正在努力学习如何使用BLOB。有了这段代码,我想上传我的文本文件。我没有错误。所有可能的情况是在容器中找不到该文件。我以前也读过类似的问题,但没有人使用这种方法 我错过了什么 using Azure.Storage.Blobs; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Upload
using Azure.Storage.Blobs;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Upload_it_Async();
}
private static async void Upload_it_Async()
{
var filepath = @"C:\my_file.txt";
var connectionString = ***********;
var containerName = "my_container";
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
var container = blobServiceClient.GetBlobContainerClient(containerName);
var blockBlob = container.GetBlobClient("my_file.txt");
using (FileStream fs = File.Open(filepath, FileMode.Open))
{
await blockBlob.UploadAsync(fs);
}
}
}
}
看起来您需要等待该任务完成:
static void Main(string[] args)
{
Upload_it_Async().Wait();
}
//Change the method to Task, not void:
private static async Task Upload_it_Async()
...
有关控制台应用程序中异步使用的更多讨论,请参阅
如注释中所述,这样做将确保在
Main
方法中抛出任何异常。建议使用下面的代码片段
static async Task Main(string[] args)
{
await Upload_it_Async();
}
private static async Task Upload_it_Async()
这里有两个很好的Azure StorageBlob示例,您可以参考。如果您对Azure存储有任何疑问,请随时告诉我
“我没有收到错误。”您可能会收到,但您无法“看到”它们。使用async Task
而不是async void
并尝试以下操作:Upload\u it\u async().GetAwaiter().GetResult()代码>作为开始。那么你应该得到例外。