博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件以二进制流保存到DB及Download(转)
阅读量:4458 次
发布时间:2019-06-08

本文共 5697 字,大约阅读时间需要 18 分钟。

把音频文件上传到数据库,然后读取出来播放:

表名: myfile; 表字段: id(int), Content(image),Type(varchar(50))

using   System; using   System.Data; using   System.Configuration; using   System.Collections; using   System.Web; using   System.Web.Security; using   System.Web.UI; using   System.Web.UI.WebControls; using   System.Web.UI.WebControls.WebParts; using   System.Web.UI.HtmlControls; using   System.Data.SqlClient; using   System.IO; public   partial   class   Image   :   System.Web.UI.Page {         protected   void   Page_Load(object   sender,   EventArgs   e)         {         }         protected   void   Button1_Click(object   sender,   EventArgs   e)         {                 Stream   fileDataStream   =   FileUpload1.PostedFile.InputStream;                 HttpPostedFile   file   =   FileUpload1.PostedFile;                 int   fileLength   =   FileUpload1.PostedFile.ContentLength;                 byte[]   fileData   =   new   byte[fileLength]; //把文件流填充到数组                   fileDataStream.Read(fileData,   0,   fileLength);                  string   fileType   =   Path.GetExtension(FileUpload1.PostedFile.FileName);  //获取文件扩展名                 SqlConnection   cn   =   new   SqlConnection(); //连接数据库                 cn.Open();                 SqlCommand   cmd   =   new   SqlCommand( "insert   myfile(Content,Type)   values(@Content,@Type) ",   cn);                 cmd.Parameters.AddWithValue( "@Content ",   fileData);                 cmd.Parameters.AddWithValue( "@Type ",   fileType);                 cmd.ExecuteNonQuery();                 cn.Close();         } }
using   System; using   System.Data; using   System.Configuration; using   System.Collections; using   System.Web; using   System.Web.Security; using   System.Web.UI; using   System.Web.UI.WebControls; using   System.Web.UI.WebControls.WebParts; using   System.Web.UI.HtmlControls; using   System.Data.SqlClient; using   System.IO; public   partial   class   Image2   :   System.Web.UI.Page {         protected   void   Page_Load(object   sender,   EventArgs   e)         {                 SqlConnection   cn   =   new   SqlConnection();//数据库链接                 cn.Open();                 SqlDataAdapter   da2   =   new   SqlDataAdapter( "select   *   from   myfile   where   id=   24 ",   cn);//读出数据库中相应的数据                 DataSet   ds2   =   new   DataSet();                 da2.Fill(ds2);                 byte[]   b2   =   (byte[])ds2.Tables[0].Rows[0][ "files "];                 string   type   =   (string)ds2.Tables[0].Rows[0][ "type "];                 Response.Clear();                 string   Type   =   checktype(type);              Response.AddHeader("Content-Disposition","attachment; filename=”下载”+type);                 Response.AddHeader( "Content-Length ",   b2.Length.ToString());                 Response.ContentType   =   Type;                 Response.BinaryWrite(b2);                 Response.End();                 string   FileName   =   ((LinkButton)sender).CommandArgument;                 Response.Clear();                 Response.ContentType   =   Type;      Response.AddHeader("Content-Disposition","attachment;FileName= "   +   HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));                 Response.WriteFile(FileName);                 Response.End();         }   //根据文件的扩展名来获取对应的“输出流的HTTP MIME“类型         private   string   checktype(string   filename)         {              string   ContentType;              switch(filename.Substring(filename.LastIndexOf(". ")).Trim().ToLower())                 {                         case   ".asf ":                                 ContentType   =   "video/x-ms-asf ";                                 break;                         case   ".avi ":                                 ContentType   =   "video/avi ";                                 break;                         case   ".doc ":                                 ContentType   =   "application/msword ";   break;                         case   ".zip ":                                 ContentType   =   "application/zip ";   break;                         case   ".xls ":                                 ContentType   =  "application/vnd.ms-excel ";   break;                         case   ".gif ":                                 ContentType   =   "image/gif ";   break;                         case   ".jpg ":                                 ContentType   =   "image/jpeg ";   break;                         case   "jpeg ":                                 ContentType   =   "image/jpeg ";   break;                         case   ".wav ":                                 ContentType   =   "audio/wav ";   break;                         case   ".mp3 ":                                 ContentType   =   "audio/mpeg3 ";   break;                         case   ".mpg ":                                 ContentType   =   "video/mpeg ";   break;                         case   ".mepg ":                                 ContentType   =   "video/mpeg ";   break;                         case   ".rtf ":                                 ContentType   =   "application/rtf ";   break;                         case   ".html ":                                 ContentType   =   "text/html ";   break;                         case   ".htm ":                                 ContentType   =   "text/html ";   break;                         case   ".txt ":                                 ContentType   =   "text/plain ";   break;                         default:                                 ContentType   =   "application/octet-stream ";                                 break;                 }                 return   ContentType;         } }

 

转载于:https://www.cnblogs.com/dennys/p/3587687.html

你可能感兴趣的文章
多路复用IO模型
查看>>
并发、串行、并行及多道技术原理
查看>>
hashlib、pickle、hmac、logging模块使用
查看>>
javascript常用知识点总结
查看>>
2019秋招复习笔记--数据库基本操作
查看>>
2019秋招复习笔试--手写代码
查看>>
2019秋招复习笔记--智力题
查看>>
MySQL学习笔记
查看>>
2019秋招面试复习 项目重点提问
查看>>
面试题
查看>>
DS博客作业08-课程总结
查看>>
利用Python爬虫刷店铺微博等访问量最简单有效教程
查看>>
浅谈软件测试与墨菲定律
查看>>
文件安全复制之 FastCopy
查看>>
强烈推荐美文之《从此刻起,我要》
查看>>
MYSQL中数据类型介绍
查看>>
评估软件上线标准
查看>>
敏捷开发流程
查看>>
APP兼容性测试(三)测试方案设计
查看>>
leetcode 412. Fizz Buzz
查看>>