📅  最后修改于: 2023-12-03 15:13:36.426000             🧑  作者: Mango
Azure Blob 存储是一种云存储服务,可用于存储大量非结构化数据,例如对象数据和文件(包括文本和二进制数据)。
在本文中,我们将介绍如何将图像转换为 Base64 编码,然后将其上传到 Azure Blob 存储。
在开始之前,您需要进行以下步骤:
Install-Package Microsoft.Azure.Storage.Blob
使用 C# 编写以下代码将图像编码为 Base64 字符串:
string imageFilePath = @"C:\Images\test.jpg";
byte[] imageBytes = File.ReadAllBytes(imageFilePath);
string base64String = Convert.ToBase64String(imageBytes);
使用以下代码将 Base64 编码的图像上传到 Blob 存储:
// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
// Create the container if it doesn't already exist.
await container.CreateIfNotExistsAsync();
// Set the permissions so the blobs are public.
BlobContainerPermissions permissions = new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
};
await container.SetPermissionsAsync(permissions);
// Convert the Base64 string to a byte array.
byte[] imageBytes = Convert.FromBase64String(base64String);
// Create a unique name for the blob.
string blobName = Guid.NewGuid().ToString();
// Retrieve reference to a blob named "myblob".
CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);
// Upload the blob to Blob Storage.
await blockBlob.UploadFromByteArrayAsync(imageBytes, 0, imageBytes.Length);
这是将 Base64 编码的图像上传到 Azure Blob 存储的完整过程。
Base64 编码是一种方便的方法,可以在不使用文件系统的情况下将图像上传到 Blob 存储。通过将图像编码为 Base64 字符串,您可以使用 Azure Blob 存储来存储和管理其它类型的文件,例如视频文件或文本文件。