Asp.net图片插入导出

1、创建存放图片的数据库表
create table homeimage
(id  int identity(1,1),--编号
timage image)
2、

using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Data.SqlClient; 
using System.IO; 
namespace Delegate 

    public partial class ReadStream : System.Web.UI.Page 
    { 
        protected void Page_Load(object sender, EventArgs e) 
        { 
        } 
        /// <summary> 
        /// 将上传的文件转换成二进制流保存在数据库 
        /// </summary> 
        /// <param name="sender"></param> 
        /// <param name="e"></param> 
        protected void Button1_Click(object sender, EventArgs e) 
        { 
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sql"].ToString()); 
            string strSql="insert into test(timage)values(@images)";//保存二进制流的方式需参数的形式 
            SqlCommand cmd = new SqlCommand(strSql, conn); 
            conn.Open(); 
            string filepath = Server.MapPath("~/"); 
            filepath += FileUpload1.FileName; 
            FileUpload1.SaveAs(filepath); 
            FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);//读取文件 
            BinaryReader br = new BinaryReader(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(); 
        } 
        protected void Button2_Click(object sender, EventArgs e) 
        { 
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sql"].ToString()); 
            conn.Open(); 
            string strSql = "select top 1 timage  from test"; 
            SqlCommand cmd = new SqlCommand(strSql, conn); 
            SqlDataReader dr = 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(); 
        } 
    } 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值