我使用asp:image字段從不同的URL獲取圖像。我使用imageurl從遠程網站設置圖像字符串(例如:http://www.google.com/favicon.ico),問題是如何判斷圖像是否存在?這意味着圖像的Url是有效的。asp:圖像顯示圖像與否
0
A
回答
0
您可以使用Uri.TryCreate method驗證URI是否有效。
您不應該檢查圖像是否存在於您的ASP.Net應用程序中。下載圖像是瀏覽器的工作。您可以添加javascript以允許瀏覽器使用默認圖像替換丟失的圖像,如this question中所述。
0
單靠使用asp:Image控件無法做到這一點。但是,只需稍加額外的工作,就可以使用ASHX處理程序爲圖像製作程序化的HttpRequest
(例如,使用查詢字符串中的圖像)。如果HttpRequest
成功,則可以將圖像傳輸到響應。
如果HttpRequest
返回404狀態,則可以替代另一個預定義的圖像。
但是,這就像使用大錘破解堅果,不應該在整個網站廣泛使用,因爲它可能會創建一個重要的負載 - 本質上,你要求服務器(而不是用戶的瀏覽器)下載圖片。如果不謹慎實施,它也可能成爲潛在的XSS安全風險。
對於個別情況,特別是當您實際需要在本地保留請求的圖像時,情況會很好。請求的任何圖像都應寫入磁盤,以便將來的請求可以處理先前保留的圖像。
顯然,Javascript也是一個解決方案,但我提到上述可能性,這取決於需求。
0
class MyClient : WebClient
{
public bool HeadOnly { get; set; }
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest req = base.GetWebRequest(address);
if (HeadOnly && req.Method == "GET")
{
req.Method = "HEAD";
}
return req;
}
}
private bool headOnly;
public bool HeadOnly {
get {return headOnly;}
set {headOnly = value;}
}
using(var client = new MyClient()) {
client.HeadOnly = true;
// fine, no content downloaded
string s1 = client.DownloadString("http://google.com");
// throws 404
string s2 = client.DownloadString("http://google.com/silly");
}
試試這個!
相關問題
- 1. ASP中的圖像顯示
- 2. 在asp視圖中顯示圖像
- 3. 圖像與背景圖像不顯示
- 4. 顯示圖像與圖像細節
- 5. 在asp頁面中顯示圖像
- 6. 圖像顯示在asp頁面
- 7. asp net mvc默認圖像顯示
- 8. 在asp網頁顯示圖像
- 9. 圖像不顯示,asp:中繼器
- 10. 圖像未顯示在ASP頁面上
- 11. asp:圖像不顯示在一個asp:HyperLink
- 12. ASP顯示動態表格圖像
- 13. 顯示個別圖像與顯示圖像拼貼的部分?
- 14. 如何在asp.net中繪製圖像並將其與asp:圖像進行顯示
- 15. 如何顯示數據庫中的圖像在asp:與linq圖像?
- 16. 問題與顯示圖像
- 17. 緩存圖像與ASP/HTTP
- 18. 圖像顯示
- 19. 顯示圖像
- 20. 顯示圖像
- 21. 顯示圖像
- 22. 顯示圖像
- 23. 顯示圖像
- 24. 顯示圖像
- 25. 顯示圖像
- 26. 圖像顯示
- 27. 圖像顯示
- 28. 顯示圖像
- 29. 顯示圖像
- 30. 顯示圖像