从ASP.NET应用程序外部显示图像

Fai*_*azi 2 c# asp.net image

所以我在显示项目文件夹外部的图像时遇到了一些麻烦......

我似乎只能访问"〜"目录和子目录中的图像...

比如说,如果我想访问"E:/ XYZ/11-01-01新年/"中的图像或类似的东西我该怎么办?

注意:我将所有文件夹和子文件夹的权限设置为"可读"为"Everyone",因此IIS/Visual Studio应该能够但不显示图像控件中的图像

Geo*_*ord 5

您应该使用HttpHandler来显示图像.

谷歌搜索"httphandler图像"出现了很多关于如何做到这一点的例子.

您可以使用查询字符串链接到处理程序,而不是尝试直接链接到您的图像,以确定要显示的图像.例如

http://mysite.com/MyHandler.ashx?image=myimage.jpg
Run Code Online (Sandbox Code Playgroud)

这是一个非常基本的样本(减去错误处理等)

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; } }        
 }
Run Code Online (Sandbox Code Playgroud)