所以我在显示项目文件夹外的图片时遇到了一些困难.
我似乎只能访问"~“目录和子目录中的图像.
说,如果我想访问"E:/XYZ/11-01-01 /“之类的图片,我该怎么做呢?
注意:我将所有文件夹和子文件夹的权限设置为“每个人”可读,因此IIS/Visual应该能够,但不显示图像控件中的图像
发布于 2011-01-13 20:14:36
您应该使用HttpHandler来显示图像。
谷歌搜索"httphandler图像“,就如何做到这一点找出了许多例子。
而不是试图直接链接到您的图像,您将链接到处理程序与查询字符串,以确定要显示的图像。例如
http://mysite.com/MyHandler.ashx?image=myimage.jpg下面是一个非常基本的示例(减去错误处理等)
using System.IO;
using System.Web;
public class MyImageHandler : IHttpHandler
{
public void ProcessRequest(System.Web.HttpContext ctx)
{
string _Path;
_Path = "E:\\XYZ\\11-01-01 New Year\\" + context.Request.QueryString["image"];
ctx.Response.StatusCode = 200;
ctx.Response.ContentType = "image/jpeg";
ctx.Response.WriteFile(_Path);
}
public bool IsReusable { get {return true; } }
}发布于 2011-01-13 20:16:03
除非您将虚拟目录映射到映像,否则客户端浏览器将永远不知道这些映像在哪里。在您的本地测试环境中,您可以通过将图像引用为"file:///E:/XYZ/11-01-01 New Year/myimage.jpg“来解决这个问题,但是这是非常糟糕的实践,并且永远不会在生产环境中工作。您应该始终使用应用程序工作目录中的相对路径,或者在其他地方使用静态定义的虚拟目录。
https://stackoverflow.com/questions/4684673
复制相似问题