可能重複:
How to Download A file stored in SQL DB in Binary Format如何使直接從ASP.NET一個數據庫下載鏈接,下載數據?
我存儲在SQL Server中的某些MS Word文檔。當我想下載它們,我把它們保存爲在服務器上的文件第一,然後用戶可以下載它們,但我正在尋找不涉及文件保存到服務器的文件系統的方式...
可能重複:
How to Download A file stored in SQL DB in Binary Format如何使直接從ASP.NET一個數據庫下載鏈接,下載數據?
我存儲在SQL Server中的某些MS Word文檔。當我想下載它們,我把它們保存爲在服務器上的文件第一,然後用戶可以下載它們,但我正在尋找不涉及文件保存到服務器的文件系統的方式...
你」需要一個實現IHttpHandler的自定義HttpHandler。請參閱MSDN中的IHttpHandler.ProcessRequest Method。設置適當的MIME類型並將數據庫中的二進制數據重定向到HttpContext的OutputStream。
一個例子(猜測,未測試)自定義處理函數調用Docs.ashx:
using System.IO;
using System.Web;
public class Docs : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
using (var streamReader = new StreamReader("fileSourceForDemonstration.docx"))
{
streamReader.BaseStream.CopyTo(context.Response.OutputStream);
}
}
public bool IsReusable
{
get { return false; }
}
}
你可以直接把數據從Web服務器的響應。 –
您的標題與您的問題不同。你究竟在問什麼? – James
@詹姆斯 - 我實在不明白兩者之間的不匹配?他們問如何在SQL Server中保存二進制數據,而不需要先保存到文件系統的中間步驟。 –