mmssaann
mmssaann

Reputation: 1507

AzureReader2 with ImageResizer prefix issue

We are using AzureReader2 plugin to read the blob urls and ImageResizer plugin to re-size images on fly.

Our container name is - img

AzureReader2 prefix name is also - img

<add name="AzureReader2" prefix="~/img/" connectionString="DefaultEndpointsProtocol=https;AccountName=my;AccountKey=my endpoint="http://<account>.blob.core.windows.net/" />

So, the image url is looking like below:

http://.blob.core.windows.net/img/img/1GKS2EEF2BR171185/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500

img is repeated twice.

Is there any way to handle this?

Can we use empty prefix with ImageResizer?

Any advise is helpful.

Upvotes: 1

Views: 343

Answers (2)

nastassiar
nastassiar

Reputation: 1621

This question is old but nonetheless as Nathanael's answer says the image URL should be:

http://myserverwithimageresizer.com/img/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500

Or for example if you are running locally :

http://localhost:<PORT>/img/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?width=200

To use image resizer you should point to your website then set the reference to blob storage in your web.config file. If it directly access blob storage the image won't have a chance to be resized.

To set the prefix to nothing in web config put the following:

<add name="AzureReader2" prefix="~/" connectionString="DefaultEndpointsProtocol=https;AccountName=my;AccountKey=my endpoint="http://<account>.blob.core.windows.net/" />

By default the prefix is "~/azure" to set it to nothing it should be "~/"

This should make it so if you navigate to http://myserverwithimageresizer.com/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500 that your image is retrieved from blob storage and resized.

Upvotes: 0

Lilith River
Lilith River

Reputation: 16468

Based on the example URL you've provided, I think you are misunderstanding the process. The cloud architecture page can be helpful here.

Cloud diagram

Your image URL should not be http://myaccount.blob.core.windows.net/img/img/1GKS2EEF2BR171185/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500

Without a CDN, it should be in the form http://myserverwithimageresizer.com/img/img/f81c8448-47cb-4448-b1d3-d59a07394bb4.jpg?w=500

Azure's Blob store doesn't know what to do with ?w=500. Your URLs in your HTML pages should never point to blob.core.windows.net; they should point to your server - or, a CDN that points to your server (not the blobstore!).

Upvotes: 1

Related Questions