繁体   English   中英

尝试将图像上传到Azure但得到404

[英]trying to upload image to Azure but getting 404

我正在尝试将图像从服务器上传到Azure:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(GLOBAL_AZURE.AZURE_STORAGE_CONNECTION_STRING);
CloudBlobContainer container = storageAccount.CreateCloudBlobClient().GetContainerReference("my-container");

CloudBlockBlob blockBlob = container.GetBlockBlobReference("my-img.jpg");
using (FileStream img = File.Open("d:\...\my-img.jpg",FileMode.Open))
{
    blockBlob.UploadFromStream(img);
}

一切正常,直到UploadFromStream抛出:

"The remote server returned an error: (404) Not Found."

my-container在门户网站上创建,并定义为“公共Blob”。

任何想法可能是什么问题?

如果容器不存在,则导致此问题。请参阅此SO问题,并在连接到Azure存储帐户时收到404错误

您可以在上传Blob之前调用container.CreateIfNotExists()来确保容器存在。 我个人将其作为某些应用程序启动代码的一部分而不是在每次Blob上传中运行。

本文具有背景https://azure.microsoft.com/zh-CN/documentation/articles/storage-monitoring-diagnosing-troubleshooting/#the-client-is-receiving-404-messages

在客户端尝试插入对象的情况下,鉴于客户端正在创建新对象,为什么这会导致HTTP 404(未找到)响应的原因可能并不十分明显。 但是,如果客户端正在创建Blob,则它必须能够找到Blob容器;如果客户端正在创建消息,则它必须能够找到队列;如果客户端正在添加行,则它必须能够找到对象。表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM