В какой папке я могу хранить загруженные пользователем изображения - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть система классифицированных объявлений в ASP.NET/c#/MS SQL, и я пытаюсь выяснить, где хранить изображения, которые люди загружают при размещении рекламы. Само объявление хранится в базе данных сервера SQL.

Изображения теперь хранятся в подпапке моего веб-приложения. Кажется, все работает нормально, но я только недавно обнаружил большую проблему. Каждый раз, когда пользователь удаляет рекламу, прикрепленные изображения также должны быть удалены, включая папку, в которой они находятся. Это приводит к перезапуску приложения asp.net. Я искал в интернете и обнаружил, что перезапуск веб-приложения на самом деле подразумевает поведение при удалении подпапки.

Очевидно, мне нужно это исправить. Но как это сделать? Где я могу хранить изображения таким образом, чтобы:

  • Я могу удалить эти изображения, включая папки, в которых они хранятся?
  • Я могу получить к ним доступ с помощью URL (изображения должны быть показаны на веб-страниц)
  • Без получения веб-приложения перезапущен? Любые отзывы приветствуются! Пол

Ответы [ 3 ]

0 голосов
/ 10 февраля 2011

возможно, вы можете хранить изображения в SQL (в этом случае проверьте функцию файлового потока), если нет, то я полагаю, что у вас есть где-то в классе бизнес-фасада, классе обслуживания или где вы хотите, метод «DeleteAd».

Этот метод должен сделать две вещи:

- удалить данные sql - удалить изображение файла

также вы можете изменить хранилище изображений в другую папку, вневеб-приложение.Вы, вероятно, закончите написанием собственного обработчика (myhandler.ashx? Fileid = XX) для обслуживания файлов или пользовательского маршрута и управления, если вы используете MVC.

0 голосов
/ 10 февраля 2011

Другим вариантом будет размещение изображений в каталоге, совершенно не связанном с веб-сайтом, а затем передача изображений через скриптовую страницу или обработчик. Это сделало бы все ваши URL изображения похожими на mydomaincom/serveimage.aspx?imageid=323422, но если вы не рассчитываете на какое-то имя, которое на самом деле не должно иметь большого значения. Очевидно, что это потребовало бы изменения страницы, которая в первую очередь обслуживает изображения, но если удаляются подкаталоги этого несвязанного каталога, IIS действительно не должно заботиться вообще.

0 голосов
/ 10 февраля 2011

См. Этот вопрос Удаление каталога приводит к перезапуску приложения

Другая альтернатива - хранить изображения в БД.

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