Разрешения IIS в папке App_data - PullRequest
0 голосов
/ 06 марта 2012

Я работаю над приложением, которое загружает некоторые изображения, а затем показывает их.

Изображения хранятся в структуре, подобной этой:

\ App_Data \ файлы \ 0d10e5c1-13ad-4493-97e7-dc4b09dc15e1 \ 2012 \ 3 \ 4

Как видите, файлы сегментированы по companyID (Guid), году, месяцу и дню.

Проблема в том, что когда я хочу показать изображение, я получаю сообщение об ошибке «Доступ к пути запрещен» Самое смешное, что изображения можно загружать без проблем. Я попробовал любую комбинацию разрешений, которую вы можете себе представить на папках, и до сих пор ничего.

Это сводит меня с ума! Есть идеи?

Немного дополнительной информации:

Приложение - это проект ASP.NET MVC 3, а IIS - 7,5

.

Я показываю изображение с помощью контроллера, подобного этому:

    [HttpGet]
    public ActionResult show(Guid id)
    {
        var results = productImagesRepository.showProductImage(id);
        return File(results.imageNameAndPath, results.contentType);
    }

Исследуя, я нашел это:

папка asp.net mvc app_data

Итак, я попытался создать новый forlder вне APP_DATA, но результаты остались прежними.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2013

Папка App_Data обозначена как папка для хранения баз данных для вашего веб-сайта.IIS защищает этот каталог - и в целях безопасности не будет обслуживать запросы на чтение.

Так что - вам не следует хранить изображения в этой папке, только файлы базы данных.

0 голосов
/ 06 марта 2012

Вы уверены, что после загрузки файлов вы правильно закрываете и утилизируете?IIS может поддерживать блокировку файла, если вы этого не делаете.Просто предположение, так как я не вижу вашу загрузку или другой код, относящийся к файлам.

Возможный быстрый способ проверить это - отскочить IIS, который снимет все блокировки файлов, если вы сможете просмотреть их, это будет указывать напроблема с блокировкой файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...