我正在更新一個asp.net應用程序並從mssql數據庫中保存和檢索文檔。保存非常簡單,但有沒有辦法從直接從數據庫下載的錨點下載文件?讓我們只是說,blob綁定在一個gridview或其他一些數據控件,我想這樣做,例如:<a href="<%#Eval("blobcolumn")%">Download Doc</a>
。我也保存文件名稱。從SQL Server讀取blob並下載它
1
A
回答
2
您可以創建一個處理程序來下載數據。
sample.ashx
public void ProcessRequest (HttpContext context)
{
string id = context.Request["id"];
if (!string.IsNullOrEmpty(id))
{
//read byte[] and other data from database based upon given ID
byte []ar=//result from database
string fileName=//filename
context.Response.ContentType = "Application/octet-stream";
context.Response.AddHeader("Content-Length", ar.Length.ToString());
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
context.Response.BinaryWrite(ar);
context.Response.Flush();
context.Response.End();
}
}
,並通過超鏈接請求
<a href="sample.ashx?id=101">Download .zip</a>
<a href='sample.ashx?id=<%#Eval("ID")%>'><%#Eval("Desc")%></a>
3
首先,你不會分配圖像HREF元素,你將創建一個img標籤來顯示圖像,則href標籤即可下載或直接在href嵌入圖像標籤:
<a href="http://somelink.com"><img src="<%#Eval("blobcolumn")%></img></a>
其次,顯示無地址的圖像內聯到一個文件需要Data URI,這意味着圖像的基礎-64版本的被嵌入在網頁中:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">
這種方法意味着顯着量的您的Web服務器上的額外流量以及您的結局因爲圖像不會被緩存,因爲如果您爲網絡服務器中的圖像提供了實際的URL(即, /images/reddot.png)。
我認爲將圖像的副本保存到網絡服務器併爲網頁中的圖像提供網址會更好。
如果擔心文件的大小或數量,可以創建批處理作業以從臨時圖像緩存清除超過特定天數或小時數的文件。
相關問題
- 1. 從SQL Server並行讀取
- 2. c# - 從SQL Server讀取blob並顯示到圖片框
- 3. 從網址下載PDF並閱讀它
- 4. 如何使用c#從sql server讀取blob?
- 5. 從Microsoft Exchange Server讀取電子郵件並下載附件
- 6. 從PL/SQL通過Spring讀取Blob
- 7. 從SQL Server下載圖片
- 8. 從Azure下載BLOB
- 9. BLOB android下載並上傳到windows azure?
- 10. 將blob存儲在SQL Server中而不讀取blob到內存中
- 11. Node.JS從mysql讀取BLOB
- 12. 從BLOB讀取寫入TMemoryStream
- 13. Java:從Oracle讀取Blob
- 14. 從jdbc/SQL Server 2005中讀取希臘文本並用servlet顯示它
- 15. SQL Server CE下載
- 16. 從SQL Server讀取 - 需要從CSV讀取
- 17. 重命名azure blob文件並下載它
- 18. 從xsd中讀取數據並將其加載到sql server表中的方法
- 19. 使用iTextSharp將PDF保存到SQL Server 2008 Blob,並讀取該Blob以保存到磁盤
- 20. Oracle BLOB列讀取
- 21. 下載nsDocumentDirectory中的zip文件,解壓並讀取它
- 22. 如何使用BCP或Sql Server Management Studio將BLOB數據從Sql Server中取出?
- 23. SQL代碼打開存儲過程並在SQL Server中讀取它
- 24. pyspark從sql server讀取數據
- 25. 從Microsoft SQL Server讀取數據到R
- 26. 無法讀取從SQL Server數據庫
- 27. 讀取XML數據從SQL Server表
- 28. 使用OleDbDataReader從SQL Server中讀取XML
- 29. 如何從SQL Server讀取JSON數據?
- 30. 從SQL Server中讀取Unicode字符串
謝謝,正是我需要的。 – user516883 2012-08-07 20:14:33