簡體   English   中英

IIS 無法從 UNC 路徑或虛擬目錄加載圖像

[英]IIS can't load image from UNC path nor Virtual directory

我剛剛使用 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.");
        }
    }

此解決方案在 localhost(使用 Visual Studio)中運行良好,我完全可以通過這樣的鏈接獲取圖像http://localhost:3606/GetImage.aspx ,但是http://192.168.154.2/GetImage.aspx不起作用. 它只會顯示損壞的圖像圖標。

可以從我安裝了 Web 服務器的計算機(已經輸入登錄名)訪問遠程。

我使用此解決方案嘗試了另一種解決方案: 虛擬目錄

從 IIS 管理器我可以完美地查看來自遠程服務器的文件,但是當我嘗試像這樣訪問虛擬文件夾時: http://192.168.154.2/afficheImage/20772G.jpg : http://192.168.154.2/afficheImage/20772G.jpg

我有一個權限不足的 500.19 錯誤。

請問有辦法解決這個問題嗎?

代碼的第一行:

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

這指向與您的網站具有虛擬目錄不同的 IP 地址。 “192.168.154.2”。 您是否正在從另一台服務器訪問圖像? 在這種情況下,您還需要檢查另一台服務器上的權限。

使用以下代碼行作為路徑

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

這是正確的符號,但您給出了無效的斜線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM