When users upload an image, it is stored in the file system but outside of what is publicly reachable.
I am displaying a list of items, and each item has an image associated with it.
How can I display the image when the actual file is stored outside of the wwwroot folder? i.e. it isn't publicly available.
You could do this two ways.
Option 1, you could create a Virtual directory which points to this other Directory. This would then mean that you could access the images via another URL. e.g. Create a Virtual Directory called "OtherImages", then your URL would be;
Option 2, you could create a simple
HttpHandler
which can load up the image from the absolute path, then output this in the response. Read up on HttpHandlers and dynamically generating images.Since the action method is running on the server, it can access any file it has permission to. The file does not need to be within the
wwwroot
folder. You simply need to tell the action method which image to get.For instance:
Your action would then look like:
Please note that the id is an
int
which will prevent someone from injecting a path to access different files on the drive/share.