下面是本人實現的代碼,也是通過網路尋找到到的答案,所以做好來共用下:
DAOBean daobean = new DAOBean();//資料庫訪問類
string sql = "select PIC from TZ_PHOTO ";//讀取大欄位檔案,如 bolg,long raw ,clog
byte[] filebyte = daobean.getBigByteDBRecord(sql);//轉成位元組數組
//資料庫中大欄位檔案下載檔案,基本原理為,讀取相應的大欄位列,轉換為位元組數組,在對位元組數組 組建檔案,或者進行下載
if (filebyte!=null)
{
Stream s = new MemoryStream(filebyte);//記憶體中 資料流,也可以直接通過
// FileInfo DownloadFile = new FileInfo(FilePath); //一樣可以直接讀取伺服器上的檔案,得到位元組流
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("ArcEngine+最短路徑分析(C#源碼).doc", System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", filebyte.Length.ToString());
// Response.WriteFile(DownloadFile.FullName);//伺服器檔案
Response.BinaryWrite(filebyte); //二進位檔案
Response.Flush();
Response.End();
}