想要使用新的 sdk - Azure.Storage.Blobs 包从 blob 中的文件夹下载和上传文件
Want to download and upload file from a folder inside the blob using new sdk - Azure.Storage.Blobs package
我想通过使用路径和 json新 sdk - Azure.Storage.Blobs 包中字符串中的内容来下载和上传文件夹中的 json 文件。我可以按照下面的代码使用旧库来做到这一点 -
上传代码-
`public async Task<bool> UploadToBlob(string path, string jsonContentString)
{
CloudBlobContainer container = _cloudBlobClient.GetContainerReference(Constant.ContainerName);
CloudBlockBlob blockBlob = container.GetBlockBlobReference("dose/NotificationDefinition/dose_dosedailyreport.json");
await blockBlob.UploadTextAsync(jsonContentString);
return true;
}`
下载代码-
public async Task<string> GetDataFromStorage()
{
CloudBlobContainer container = _cloudBlobClient.GetContainerReference(Constant.ContainerName);
var blockBlob = container.GetBlockBlobReference("dose/NotificationDefinition/dose_dosedailyreport.json");
return await blockBlob.DownloadTextAsync();
}
试试下面的代码。基本上我们正在创建一个用于上传和下载的 BlockBlobClient
and calling it's Upload
and Download
方法的实例。
static void UploadDownloadTest()
{
var blobName = "dose/NotificationDefinition/dose_dosedailyreport.json";
var containerName = "test";
var connectionString = "UseDevelopmentStorage=true";
var blockBlobClient = new BlockBlobClient(connectionString, containerName, blobName);
var jsonContentString = "This is the data I wish to upload";
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonContentString)))
{
var httpHeaders = new BlobHttpHeaders()
{
ContentType = "application/json"
};
blockBlobClient.Upload(ms, httpHeaders);
}
Console.WriteLine("Upload Successful!");
var downloadResponse = blockBlobClient.Download().Value;
using (var stream = downloadResponse.Content)
{
byte[] buffer = new byte[downloadResponse.ContentLength];
stream.Read(buffer, 0, buffer.Length);
var responseData = Encoding.UTF8.GetString(buffer);
Console.WriteLine("Blob contents....");
Console.WriteLine(responseData);
}
}
我想通过使用路径和 json新 sdk - Azure.Storage.Blobs 包中字符串中的内容来下载和上传文件夹中的 json 文件。我可以按照下面的代码使用旧库来做到这一点 -
上传代码-
`public async Task<bool> UploadToBlob(string path, string jsonContentString)
{
CloudBlobContainer container = _cloudBlobClient.GetContainerReference(Constant.ContainerName);
CloudBlockBlob blockBlob = container.GetBlockBlobReference("dose/NotificationDefinition/dose_dosedailyreport.json");
await blockBlob.UploadTextAsync(jsonContentString);
return true;
}`
下载代码-
public async Task<string> GetDataFromStorage()
{
CloudBlobContainer container = _cloudBlobClient.GetContainerReference(Constant.ContainerName);
var blockBlob = container.GetBlockBlobReference("dose/NotificationDefinition/dose_dosedailyreport.json");
return await blockBlob.DownloadTextAsync();
}
试试下面的代码。基本上我们正在创建一个用于上传和下载的 BlockBlobClient
and calling it's Upload
and Download
方法的实例。
static void UploadDownloadTest()
{
var blobName = "dose/NotificationDefinition/dose_dosedailyreport.json";
var containerName = "test";
var connectionString = "UseDevelopmentStorage=true";
var blockBlobClient = new BlockBlobClient(connectionString, containerName, blobName);
var jsonContentString = "This is the data I wish to upload";
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonContentString)))
{
var httpHeaders = new BlobHttpHeaders()
{
ContentType = "application/json"
};
blockBlobClient.Upload(ms, httpHeaders);
}
Console.WriteLine("Upload Successful!");
var downloadResponse = blockBlobClient.Download().Value;
using (var stream = downloadResponse.Content)
{
byte[] buffer = new byte[downloadResponse.ContentLength];
stream.Read(buffer, 0, buffer.Length);
var responseData = Encoding.UTF8.GetString(buffer);
Console.WriteLine("Blob contents....");
Console.WriteLine(responseData);
}
}