存储图像的物理地址然后更改它?

时间:2011-11-13 15:23:35

标签: asp.net image directory

我现在有一个文件夹在我的机器上并且有一些图像。这些图像的位置存储在数据库中。我想知道我应该做什么将这些图像移动到另一个位置...保存的路径DB不会改变..?如何处理?

3 个答案:

答案 0 :(得分:1)

你可以告诉负责图片的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"/>

答案 1 :(得分:0)

如果您无法更改数据库中的路径,则可能必须创建文件系统链接(一种快捷方式),以便使用它们位于原始位置的文件显示任何内容。看看NTFS junction points(假设您在Windows上运行),或在Linux上运行ln工具。

出于兴趣,为什么不能更改数据库中的路径?

答案 2 :(得分:0)

如果您确实需要移动文件,也许您可​​以对现有路径执行批量数据库更新,例如替换某个模式(从\ OldFolder ...到\ NewFolder ...)。