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