0

我刚刚使用 IIS 管理器在本地安装了一个网站。我可以从路径访问该站点,http://192.168.154.2/Default.aspx并且我有一个名为 Affiche 的文件夹,其中包含一些图像,并且位于同一网络的远程服务器中。

要访问图像,我正在使用一个 aspx 页面 GetImage.aspx,它的工作方式如下:

 var path = "//192.168.84.52/Distri/Affiche/10038P.jpg"

    if ((string.IsNullOrEmpty(imageName) == false))
    {

        try
        {
            // Retrieving the image
            System.Drawing.Image fullSizeImg;
            fullSizeImg = System.Drawing.Image.FromFile(path);
            // Writing the image directly to the output stream
            fullSizeImg.Save(Response.OutputStream, ImageFormat.Jpeg);
            // Cleaning up the image
            fullSizeImg.Dispose();
        }

        catch (System.IO.FileNotFoundException)
        {
            //MessageBox.Show("There was an error opening the bitmap." +
            //    "Please check the path.");
        }
    }

该解决方案在本地主机(使用 Visual Studio)中运行良好,我可以通过这样的链接完美地获取图像http://localhost:3606/GetImage.aspx,但是http://192.168.154.2/GetImage.aspx不起作用。它只会显示损坏的图像图标。

可以从我安装了 Web 服务器的计算机(已经输入登录名)访问远程。

我使用此解决方案尝试了另一种解决方案:虚拟目录

从 IIS 管理器中,我可以完美地查看来自远程服务器的文件,但是当我尝试像这样访问虚拟文件夹时:http://192.168.154.2/afficheImage/20772G.jpg

我有一个 500.19 错误,权限不足。

请问有没有办法解决这个问题?

4

2 回答 2

0

您的代码的第一行:

var path = "//192.168.84.52/Distri/Affiche/10038P.jpg"

这指向的 IP 地址与您的网站具有虚拟目录不同。“192.168.154.2”。您是否正在从另一台服务器访问图像?在这种情况下,您还需要检查另一台服务器上的权限。

于 2013-08-26T06:06:53.127 回答
0

使用下面的代码行作为路径

var path = @"\\192.168.84.52\Distri\Affiche\10038P.jpg"

这是正确的表示法,但您给出了无效的斜杠。

于 2013-12-10T09:12:22.163 回答