[英]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.