asp.net上传下载输出二进制流实现代码
2023-06-13 09:14:15 时间
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Data.SqlClient;
usingSystem.IO;
namespaceDelegate
{
publicpartialclassReadStream:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
///<summary>
///将上传的文件转换成二进制流保存在数据库
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["sql"].ToString());
stringstrSql="insertintotest(timage)values(@images)";//保存二进制流的方式需参数的形式
SqlCommandcmd=newSqlCommand(strSql,conn);
conn.Open();
stringfilepath=Server.MapPath("~/");
filepath+=FileUpload1.FileName;
FileUpload1.SaveAs(filepath);
FileStreamfs=newFileStream(filepath,FileMode.Open,FileAccess.Read);//读取文件
BinaryReaderbr=newBinaryReader(fs);
byte[]photo=br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
cmd.Parameters.Add("@images",SqlDbType.Binary,photo.Length);//设置参数
cmd.Parameters["@images"].Value=photo;//设置值
if(cmd.ExecuteNonQuery()==1)
{
Response.Write("添加成功!");
}
conn.Close();
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["sql"].ToString());
conn.Open();
stringstrSql="selecttop1timagefromtest";
SqlCommandcmd=newSqlCommand(strSql,conn);
SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(dr.Read())
{
byte[]by=(byte[])dr[0];
Response.AddHeader("Content-Disposition","attachment;filename=ceshi.txt");//设置读取的文件头
Response.AddHeader("Content-Length",by.Length.ToString());
Response.ContentType="text/plain";//设置输出类型这里可以保存在数据库中动态实现类型
Response.OutputStream.Write(by,0,by.Length);//输出
Response.Flush();
}
conn.Close();
}
}
}
相关文章
- .net利用MSSQL连接ASP.NET的办法探索(mssql 连接asp)
- ASP无法连接MySQL数据库解决方案(asp连不上mysql)
- ASP转换MySQL掌握数据库迁移技术(asp转换为mysql)
- MySQL语句实现 ASP 程序开发精彩功能(asp mysql语句)
- asp.net的错误处理机制讲解
- asp.net下用DataSet生成XML的问题
- ASP.net在页面所有内容生成后、输出内容前对页面内容进行操作
- .net下实现Word动态填加数据打印
- asp.net继承自Page实现统一页面验证与错误处理
- asp.net动态输出透明gif图片
- asp.net光棒效应实现代码
- ASP.NET中常用的用来输出JS脚本的类
- ASP.NET线程相关配置
- ASP.NET页面事件执行顺序介绍
- asp.net图标提取以及图标转换的实例代码
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
- 三步将Asp.Net页面输出到EXCEL里
- 拦截asp.net输出流并进行处理的方法