I´m working on an application that uploads some images, then show them.
The images are store in a structure similar to this:
\\App_Data\\files\\0d10e5c1-13ad-4493-97e7-dc4b09dc15e1\\2012\\3\\4
As you can see, the files are segmented by companyID (the Guid), year, month and day.
The problem is when I want to show the image, I get an error “access to the path is denied” The funny thing is that the images can upload without any problems. I tried whatever combination of permission you can imagine on the folders and still nothing.
This is driving me crazy! Any ideas?
A little extra info:
The App is ASP.NET MVC 3 Project and the IIS is 7.5
I'm showing the image using a controller like this:
[HttpGet]
public ActionResult show(Guid id)
{
var results = productImagesRepository.showProductImage(id);
return File(results.imageNameAndPath, results.contentType);
}
Researching, I found this:
So I tried creating a new forlder outside the APP_DATA but the results are the same.
The App_Data folder is designated as a folder to store databases for your website. IIS protects this directory - and for security purposes will not serve read requests.
So - you should not store images in this folder, only database files.
Are you sure after uploading the files you're correctly closing and disposing? IIS could be maintaining a file lock of you're not doing so. Just a guess as I cannot see your upload or other code relating to the files.
A possible quick way to check is to bounce IIS which will release all file locks, if you can then view them this would point towards a file locking problem.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.