[英]Want to download and upload file from a folder inside the blob using new sdk - Azure.Storage.Blobs package
I want to download and upload a json file in a folder by using path and jsonContent in string for in new sdk - Azure.Storage.Blobs package. I want to download and upload a json file in a folder by using path and jsonContent in string for in new sdk - Azure.Storage.Blobs package. I am able to do so using old library as per below code -
我可以按照下面的代码使用旧库来做到这一点 -
UploadCode -上传代码 -
`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;
}`
Download Code -下载代码 -
public async Task<string> GetDataFromStorage()
{
CloudBlobContainer container = _cloudBlobClient.GetContainerReference(Constant.ContainerName);
var blockBlob = container.GetBlockBlobReference("dose/NotificationDefinition/dose_dosedailyreport.json");
return await blockBlob.DownloadTextAsync();
}
Try the following code.试试下面的代码。 Basically we're creating an instance of
BlockBlobClient
and calling it's Upload
and Download
method for uploading and downloading.基本上我们正在创建一个
BlockBlobClient
的实例并调用它的Upload
和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);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.