将word文档上传到Azure存储时出错
getting an error while uploading word document to azure storage
我正在尝试使用以下代码将 word 文档上传到带有 blob 的 azure 云存储中
var fileName = $"{designInput.ProjectNumber}-{projectPhaseData.Name}-BOD.docx";
var builder = new BasisOfDesignBuilder(UpdatedDesignProject);
var director = new BasisOfDesignDirector(builder);
director.BuildBasisOfDesign();
var document = builder.GetWordDocumentBytes(); // this will give byte array
var azureStorageAccountName = Startup.Configuration["AzureStorage:AccountName"]; // 'accountname like storageprod01'
var azureStorageConnectionString = Startup.Configuration["AzureStorage:ConnectionString"]; // url like DefaultEndpointsProtocol=https;AccountName=storageprod01;AccountKey=abcbbc;EndpointSuffix=core.windows.net
BlobContainerClient azureStorageContainer = new BlobContainerClient(azureStorageConnectionString, azureStorageAccountName);
BlobClient blob = azureStorageContainer.GetBlobClient(fileName);
using var memoryStream = new MemoryStream(document, false);
blob.Upload(memoryStream);
在这一行出错blob.Upload(memoryStream);
错误是
The specified container does not exist
谁能知道我为什么会收到此错误,或者我是否遗漏了与 Azure 存储帐户相关的内容?
提前致谢
首先,您将 accountName 的名称作为 Container 的名称传递给构造函数。(https://docs.microsoft.com/en-us/dotnet/api/azure.storage.blobs.blobcontainerclient.-ctor?view=azure-dotnet#Azure_Storage_Blobs_BlobContainerClient__ctor_System_Uri_Azure_Storage_StorageSharedKeyCredential_Azure_Storage_Blobs_BlobClientOptions_)
其次,您必须在创建 blob 之前创建容器。
BlobContainerClient azureStorageContainer = new BlobContainerClient(azureStorageConnectionString, containerName);
azureStorageContainer.CreateIfNotExists();
BlobClient blob = azureStorageContainer.GetBlobClient(fileName);
using var memoryStream = new MemoryStream(document, false);
blob.Upload(memoryStream);
我正在尝试使用以下代码将 word 文档上传到带有 blob 的 azure 云存储中
var fileName = $"{designInput.ProjectNumber}-{projectPhaseData.Name}-BOD.docx";
var builder = new BasisOfDesignBuilder(UpdatedDesignProject);
var director = new BasisOfDesignDirector(builder);
director.BuildBasisOfDesign();
var document = builder.GetWordDocumentBytes(); // this will give byte array
var azureStorageAccountName = Startup.Configuration["AzureStorage:AccountName"]; // 'accountname like storageprod01'
var azureStorageConnectionString = Startup.Configuration["AzureStorage:ConnectionString"]; // url like DefaultEndpointsProtocol=https;AccountName=storageprod01;AccountKey=abcbbc;EndpointSuffix=core.windows.net
BlobContainerClient azureStorageContainer = new BlobContainerClient(azureStorageConnectionString, azureStorageAccountName);
BlobClient blob = azureStorageContainer.GetBlobClient(fileName);
using var memoryStream = new MemoryStream(document, false);
blob.Upload(memoryStream);
在这一行出错blob.Upload(memoryStream);
错误是
The specified container does not exist
谁能知道我为什么会收到此错误,或者我是否遗漏了与 Azure 存储帐户相关的内容?
提前致谢
首先,您将 accountName 的名称作为 Container 的名称传递给构造函数。(https://docs.microsoft.com/en-us/dotnet/api/azure.storage.blobs.blobcontainerclient.-ctor?view=azure-dotnet#Azure_Storage_Blobs_BlobContainerClient__ctor_System_Uri_Azure_Storage_StorageSharedKeyCredential_Azure_Storage_Blobs_BlobClientOptions_)
其次,您必须在创建 blob 之前创建容器。
BlobContainerClient azureStorageContainer = new BlobContainerClient(azureStorageConnectionString, containerName);
azureStorageContainer.CreateIfNotExists();
BlobClient blob = azureStorageContainer.GetBlobClient(fileName);
using var memoryStream = new MemoryStream(document, false);
blob.Upload(memoryStream);