簡體   English   中英

如何在 asp.net 中顯示存儲在.network 上的圖像 (c#)

[英]How to display image stored on the network in asp.net (c#)

如何顯示存儲在 asp.net 中的.network 上的圖像(使用 c#)。 我希望 img src 是下面給出的那個:

\\pgapp\folder\image.jpg ,其中 pgapp 是 .network 上的共享驅動器。

我正在使用這些代碼,但它沒有在網頁上顯示圖像。

originalImage2.ImageUrl=@"\\pgapp\folder\image.jpg";

要么

originalImage2.Attributes["src"]=ResolveUrl(@"\\pgapp\folder\image.jpg") ;

<div ID="imgContainer" runat="server" style="width: 400px; height: 400px;  overflow:auto; border: solid 1px black;
                    padding: 10px; margin-bottom: 5px;" >

                    &nbsp;<asp:Image ID="originalImage2" runat="server" />
                </div>

你會遇到兩個問題:

  • 瀏覽器通常無法訪問服務器共享(除非它在同一個網絡上)。 您需要以某種方式通過您的網站公開圖像,以便它像http://myserver/image/image1.jpg這樣可見
  • “NTLM 一跳”- 如果您開始通過服務器渲染圖像,您的服務器將無法從遠程服務器讀取文件。 你只需要驗證你是否有問題並閱讀它。

要在用戶 web 瀏覽器中顯示存儲在 a.network 上的圖像,請執行以下操作:

將圖像轉換為對應的 base64 並顯示:

// PhotoId is the network file path and name.
string photoId = "\\Photos\2015-May\390828d1-8f20-4fe9-9287-13d03894e9c0.jpg"

// Call to display the networked images.
lbl_images.Text += "<img src='" + this.PhotoBase64ImgSrc(photoId) + "' height='60px' width='60px' alt='photo' />";

// Supporting function that converts an image to base64.
protected string PhotoBase64ImgSrc(string fileNameandPath)
{
    byte[] byteArray = File.ReadAllBytes(fileNameandPath);
    string base64 = Convert.ToBase64String(byteArray);

    return string.Format("data:image/gif;base64,{0}", base64);
}

如果要顯示存儲在 .network 路徑中的圖像,請在 IIS 中更改以下設置,

  1. 導航到 IIS。
  2. 導航到站點文件夾中的網站。
  3. Select 應用程序網站並導航到右側操作菜單並單擊查看虛擬目錄。 在此處輸入圖像描述
  4. 單擊“添加虛擬目錄”並將別名指定為“images”,將物理路徑指定為“.network drive path”。 在此處輸入圖像描述 在此處輸入圖像描述
  5. 測試設置並保存。
  6. 刷新應用程序池並測試圖像是否正在渲染。

暫無
暫無

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

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