下面是本人实现的代码,也是通过网络查找到到的答案,所以做好来共享下:
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();
}
本文介绍了一种从数据库中读取大字段文件(如BLOB、LONGRAW等)并将其下载的方法。通过将大字段数据转换为字节数组,然后使用ASP.NET响应对象将这些数据发送给客户端进行下载。
&spm=1001.2101.3001.5002&articleId=4349672&d=1&t=3&u=2206a6955cfc4ca3a2e27b891c1095f6)
5503

被折叠的 条评论
为什么被折叠?



