簡體   English   中英

如何從具有ASPX擴展名的URL提供圖像?

[英]How is an image served from a URL with an ASPX extension?

有人可以告訴如何創建這樣的網址

例如,如果你看到網址

http://office.microsoft.com/global/images/default.aspx?assetid=ZA103873861033

你將重定向到一個圖像..

我的問題是,雖然這個url是一個圖像..擴展名是aspx ..它是否可能。 如何創建這種網址

謝謝

通過在服務器的響應中設置ContentType

  HttpContext.Response.ContentType = "image/jpeg";

這是用於顯示在數據庫中存儲為二進制對象的圖像的常用方法。 其中一個教程可以在這里找到。

基本上,他們正在做的是使用aspx頁面接受URL參數,該參數告訴他們從數據庫中獲取什么圖像。 然后在響應中,它們清除所有輸出和標題,設置圖像的標題,將二進制數據寫入響應流,並關閉響應流。

所以它並沒有真正“重定向”你的形象。 被請求的“頁面”原來是響應中的圖像資源。

最簡單的方法是添加通用處理程序* .ashx並在ashx文件中你將擁有代碼,你可以在其后獲得查詢字符串並操縱響應,例如。 Response.WriteFile(...)

文件擴展名字在WWW上沒有任何意義。 正確描述特定URL上的內容的是內容類型/ MIME類型 當在傳遞主HTTP有效負載之前請求URL時,這將在HTTP頭中提供。 其他答案描述了如何在ASP.NET中正確設置它。

除了所有其他答案,他們可能正在對圖像文件執行Server.Transfer() (以便您不會在客戶端看到它)。 這仍然意味着響應標頭被設置為適當的MIME類型,但它也意味着圖像不是來自數據庫的necesarilly。 此技術可用於隱藏實際圖像URL以嘗試防止熱鏈接。

暫無
暫無

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

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