zoukankan      html  css  js  c++  java
  • Asp.Net在SqlServer中的图片存取

    在使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 
    一,上传并存入sqlserver 
     数据库结构 
      
    create table test 
      { 
         id 
    identity(1,1), 
         FImage 
    image 
      } 
      相关的存储过程 
      
    Create proc UpdateImage 
      ( 
         
    @UpdateImage Image 
      ) 
      
    As 
      
    Insert Into test(FImage) values(@UpdateImage
      
    GO 

    在upphoto.aspx文件中添加如下: 
    <input id="UpPhoto" name="UpPhoto" runat="server" type="file"> 
    <asp:Button id="btnAdd" name="btnAdd" runat="server" Text="上传"></asp:Button> 

    然后在后置代码文件upphoto.aspx.cs添加btnadd按钮的单击事件处理代码: 
    private void btnAdd_Click(object sender, System.EventArgs e) 

            
    //获得图象并把图象转换为byte[] 
            HttpPostedFile upPhoto
    =UpPhoto.PostedFile; 
            
    int upPhotoLength=upPhoto.ContentLength; 
            byte
    [] PhotoArray=new Byte[upPhotoLength]
            Stream PhotoStream
    =upPhoto.InputStream; 
            PhotoStream.
    Read(PhotoArray,0,upPhotoLength); 

            
    //连接数据库 
            SqlConnection conn
    =new SqlConnection(); 
            conn.ConnectionString
    ="Data Source=localhost;Database=test;User Id=sa;Pwd=sa"; 

            SqlCommand cmd
    =new SqlCommand("UpdateImage",conn); 
            cmd.CommandType
    =CommandType.StoredProcedure; 

            cmd.Parameters.
    Add("@UpdateImage",SqlDbType.Image); 
            cmd.Parameters
    ["@UpdateImage"].Value=PhotoArray; 

            
    //如果你希望不使用存储过程来添加图片把上面四句代码改为: 
            
    //string strSql="Insert into test(FImage) values(@FImage)"; 
            
    //SqlCommand cmd=new SqlCommand(strSql,conn); 
            
    //cmd.Parameters.Add("@FImage",SqlDbType.Image); 
            
    //cmd.Parameters["@FImage"].Value=PhotoArray; 

     conn.
    open(); 
     cmd.ExecuteNonQuery(); 
     conn.
    Close(); 


    二,从sqlserver中读取并显示出来 
    在需要显示图片的地方添加如下代码: 
    <asp:image id="imgPhoto" runat="server" ImageUrl="ShowPhoto.aspx"></asp:image> 

    showphoto.aspx主体代码: 
    private void Page_Load(object sender, System.EventArgs e) 

         
    if(!Page.IsPostBack) 
         { 
                    SqlConnection conn
    =new SqlConnection() 
                    conn.ConnectionString
    ="Data Source=localhost;Database=test;User Id=sa;Pwd=sa"; 
                    
                    string strSql
    ="select * from test where id=2";//这里假设获取id为2的图片 
                    SqlCommand cmd
    =new SqlCommand() 
                    reader.
    Read(); 
                    Response.ContentType
    ="application/octet-stream"; 
                    Response.BinaryWrite((Byte
    [])reader["FImage"]); 
                    Response.
    End(); 
                    reader.
    Close(); 
         } 


  • 相关阅读:
    网址
    123
    工具安装
    博客专栏-计算机网络
    JQuery(1)
    HTML常用标签
    Spring的线程池技术:ThreadPoolTaskExecutor
    Error:java: 程序包lombok不存在- IDEA+maven+lombok
    Andriod Studio中新创建的xml布局文件无法在R.layout中调用
    SAST : Single-Shot Arbitrarily-Shaped Text Detector论文阅读笔记
  • 原文地址:https://www.cnblogs.com/RuiLei/p/568741.html
Copyright © 2011-2022 走看看