Search code examples
azureazure-storageazure-blob-storage

Images uploaded to Azure blob storage unavailable when browsing by direct URL


I have uploaded a number of images to a Blob container on an Azure storage account of type StorageV2 (general purpose v2).

These were uploaded programmatically. Here's the code I used:

public Task CopyFile(string fileName, string targetPath)
{
    var blobRef = Container.GetBlockBlobReference(targetPath);

    blobRef.Properties.ContentType = GetContentType(fileName);

    return blobRef.UploadFromFileAsync(fileName);
}

public string GetContentType(string fileName)
{
    var provider = new FileExtensionContentTypeProvider();

    if (!provider.TryGetContentType(fileName, out var contentType))
    {
        contentType = "application/octet-stream";
    }

    return contentType;
}

Container is an initialized CloudBlobContainer instance.

When I use the Storage Explorer I can see the uploaded files. If I view the properties of any file it lists a Uri property. However, if I copy the value (a URL) and paste into a browser I see the following error page:

<Error>
    <Code>ResourceNotFound</Code>
    <Message>
        The specified resource does not exist. RequestId:12485818-601e-0017-6f69-56c3df000000 Time:2019-08-19T08:35:13.2123849Z
    </Message>
</Error>

But if I double-click the file in Storage Explorer it downloads the image correctly. The URL it uses is the same as the one I copied earlier as far as I could tell, except for some additional querystrings that look like this: ?sv=2018-03-28&ss=bqtf&srt=sco&sp=rwdlacup&se=2019-08-19T16:49:38Z&sig=%2FJs7VnGKsjplalKXCcl0XosgUkPWJccg0qdvCSZlDSs%3D&_=1566204636804

I assume this must mean my blobs are not publically available, but I can't find any setting that will make my images available publically at their known URI. Can anyone point me in the right direction here? Thank you.


Solution

  • Check the access level that set to your container. If that is a Private then you will have the error that you experiencing: ResourceNotFound

    enter image description here