存在しないが、私のコードです:Azureブロブストレージアップロードファインが、ブロブはここ
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System;
using Microsoft.WindowsAzure;
using System.Net.Http;
namespace Test
{
class Program
{
static void Main(string[] args)
{
//get the storage account from the connection string
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=[account name];AccountKey=[account key];EndpointSuffix=core.windows.net");
//instantiate the client
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
//set the container
CloudBlobContainer container = blobClient.GetContainerReference("images");
//get the blob reference
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob.jpg");
//get image from stream and upload
using (var client = new HttpClient())
{
using (var stream = client.GetStreamAsync(some_url).GetAwaiter().GetResult())
{
if (stream != null)
{
blockBlob.UploadFromStreamAsync(stream);
}
}
client.Dispose();
}
}
}
}
ストレージアカウントのインスタンスが正常に動作します。 コンテナ参照は正常に動作します(実際に存在します)。 ブロック・ブロブ参照は、エラーなく動作します。 ストリームには、参照しているURLから取得した画像があります。 最後に、アップロードでエラーが返されません。
ただし、Blob URIに移動すると画像が表示されません。
私は次のエラーを取得する:
指定されたブロブが存在しません。 RequestId:7df0aadc-0001-007c-6b90-f95158000000時間:2017-07-10T15:21:25.2984015Z
私はAzure Portal経由で画像をアップロードしており、存在し、ブラウザ経由でナビゲートできます。
何か不足していますか?
アップロードする直前にストリームの位置を0に設定してみてください。 –
コンテナは公開されているかプライベートですか? –
'async'メソッドを' GetAwaiter()。GetResult() 'と呼んでいます。これは**非常に**悪い習慣です。 – VMAtm