Сохранение физического адреса изображения и его изменение? - PullRequest
1 голос
/ 13 ноября 2011

У меня есть папка, которая сейчас находится на моем компьютере и содержит несколько изображений. Местоположение этих изображений хранится в базе данных. Я хочу знать, что мне следует сделать, чтобы переместить эти изображения в другое место ... путь, сохраненный вБД не изменится ..? как с этим бороться?

Ответы [ 3 ]

1 голос
/ 13 ноября 2011

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

код из моего старого проекта:

namespace ImageHandler
{
    public class HttpImageHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "image/jpeg";
            var path = HttpContext.Current.Server.MapPath("~/Images/usa.png"); // here you should play with the location
            context.Response.WriteFile(path);
        }

        public bool IsReusable
        {
            get { return false; }
        }
    }
}

в web.config

<httpHandlers>
  <add verb="*" path="*.gif"     type="ImageHandler.HttpImageHandler"/>
0 голосов
/ 13 ноября 2011

Если вам действительно нужно переместить файлы, возможно, вы могли бы выполнить массовое обновление БД для существующих путей, например, заменить определенный шаблон (от \ OldFolder ... до \ NewFolder ...).

0 голосов
/ 13 ноября 2011

Если вы не можете изменить путь в БД, вам, возможно, придется создать ссылку на файловую систему (своего рода ярлык), чтобы она отображалась всем, использующим файлы, которые находятся в исходном местоположении. Взгляните на точки соединения NTFS (при условии, что вы работаете в Windows) или в Linux, инструмент ln.

Из интереса, почему вы не можете изменить путь в БД?

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