我有一些代码。它没有给我一些错误,但是我在Azure存储中的文件夹中没有图像。
var bytes = person.Image.GetBytes();
MemoryStream ms = new MemoryStream(bytes.Result);
var storageCredentials = new StorageCredentials("AccountName", "***/pEYRskVHuAtUhcvLT/Ct*****/71lLMUCgTybnm****B4WO/AGFe****==");
var cloudStorageAccount = new CloudStorageAccount(storageCredentials, true);
var cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
var container = cloudBlobClient.GetContainerReference("https://*********.blob.core.windows.net/images");
var newBlob = container.GetBlockBlobReference("myfile.jpg");
newBlob.UploadFromStreamAsync(ms);
最有可能遇到此问题的原因是,您正在调用async
操作,而不是等待其完成:
newBlob.UploadFromStreamAsync(ms);
您可以通过以下操作等待此操作完成来解决此问题:
ms.Position(0);
await newBlob.UploadFromStreamAsync(ms);
或使用sync
版本的相同方法:
ms.Position(0);
newBlob.UploadFromStream(ms);