问题描述
我提出问题和答案,希望能让他人受益。你需要安装 Azure.Storage.Blobs 包
解决方法
查看下面的代码
// 一个内容上传类 // 安装包 Azure.Storage.Blobs
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Specialized;
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
namespace AnAzureFunctionApp
{
public class ContentUploader
{
public async Task UploadContentsToBlob(string azureStorageAccountConnectionString,string storageContainerName,string blobFileName)
{
var blobServiceClient = new BlobServiceClient(azureStorageAccountConnectionString);
// Create the container and return a container client object
var containerClient = blobServiceClient.GetBlobContainerClient(storageContainerName);
await containerClient.CreateIfNotExistsAsync();
var blobClient = containerClient.GetBlockBlobClient(blobFileName);
await AddBlobContents(blobClient);
}
private async Task AddBlobContents(BlockBlobClient blobClient)
{
await using var memoryStream = new MemoryStream();
// Download the blob's contents if it exist and save it to a memory file
if (blobClient.Exists())
{
var blobDownloadInfo = await blobClient.DownloadAsync();
await blobDownloadInfo.Value.Content.CopyToAsync(memoryStream);
}
byte[] timeBytes = Encoding.UTF8.GetBytes("Process is Run at " + DateTime.Now + Environment.NewLine);
await memoryStream.WriteAsync(timeBytes,timeBytes.Length);
memoryStream.Position = 0;
//Upload the contents
await blobClient.UploadAsync(memoryStream);
memoryStream.Close();
}
}
}