我是 Azure 新手。我已激活免费订阅以学习 Azure。我在我的门户中创建了一个存储帐户。在该帐户中,我创建了一个容器。
我已成功将图像上传到该容器。当我单击该图像时,我在属性中找到了可以通过浏览器访问的 URL。
但是我在执行上述操作时遇到以下错误。
<Error>
<Code>ResourceNotFound</Code>
<Message>
The specified resource does not exist. RequestId:<Guid> Time:2022-05-17T11:20:46.2299517Z
</Message>
</Error>
但是该图像确实存在于该容器中。为什么我会收到上述错误?如何避免该错误?
就我而言,(我收到了同样的错误),我的容器是公共的(blob),并且所有访问权限都设置正确。 我的问题是,当我使用 Azure.Storage.Blobs 命名空间上传图像时,例如:
`
BlobContainerClient containerClient = new BlobContainerClient(blobcnnstr, containername);
using (MemoryStream stream = new MemoryStream(File.ReadAllBytes(filefullyqualifiedname)))
{
containerClient.UploadBlob(filename, stream);
}
`
上传的图片内容类型错误。 对于图像,内容类型需要是“image/jpeg”
所以我用了
`
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
BlobContainerClient containerClient = new BlobContainerClient(blobcnnstr, containername);
BlobClient bc = containerClient.GetBlobClient(filename);
using (MemoryStream stream = new MemoryStream(File.ReadAllBytes(filefullyqualifiedname)))
{
bc.Upload(stream, httpHeaders: new BlobHttpHeaders { ContentType = "image/jpeg" }, conditions: null);
}
`
blobcnnstr 变量包含存储帐户访问密钥连接字符串, containername 变量包含容器名称, filename 变量包含不带路径的文件名, filefulqualifiedname 变量包含路径 + 文件名。
希望这对某人有帮助。