sql圖片存取

來源:互聯網
上載者:User

//存放

pirvate save()

{

 HttpPostedFile upFile = up_file.PostedFile;//HttpPostedFile對象,用來讀取上傳圖片的屬性
            fileLength = upFile.ContentLength;//記錄檔案的長度
   try
   {
    if(fileLength==0)//當檔案長度為0的時候
    {
     txtMessage.Text = "請選擇要上傳的檔案!";
    }
    else
    {
     byte[] fileByte = new byte[fileLength];//用圖片的長度來初始化一個位元組數組儲存臨時的圖片檔案
     Stream fileStream = upFile.InputStream;//建立檔案流對象
     fileStream.Read(fileByte,0,fileLength);//讀取圖片資料到臨時儲存體fileByte,0為資料指標位置,fileLength為資料長度
     string connString = "Data Source=192.168.1.250;database=image;uid=pwqzc;pwd=cn0088";
     SqlConnection conn = new SqlConnection(connString);//初始化資料庫連接
     string insertStr = "insert into image (image_data,image_content_type,image_description,image_size) values (@image_data,@image_content_type,@image_description,@image_size)";
     //插入資料庫語句
     SqlCommand comm = new SqlCommand(insertStr,conn);
     comm.Parameters.Add(new SqlParameter("@image_data",SqlDbType.Image));//添加參數
     comm.Parameters["@image_data"].Value = fileByte;//給參數賦值
     comm.Parameters.Add(new SqlParameter("@image_content_type",SqlDbType.VarChar,50));
     comm.Parameters["@image_content_type"].Value = upFile.ContentType;//記錄圖片類型
     comm.Parameters.Add(new SqlParameter("@image_description",SqlDbType.VarChar,50));
     comm.Parameters["@image_description"].Value = txtDescription.Text;//把其他的表單資料上傳
     comm.Parameters.Add(new SqlParameter("@image_size",SqlDbType.Int,4));
     comm.Parameters["@image_size"].Value = upFile.ContentLength;//記錄圖片長度,讀取資料的時候使用
     conn.Open();//開啟資料庫連接
     comm.ExecuteNonQuery();//添加資料
     conn.Close();//關閉資料庫
     txtMessage.Text = "你已經成功的上傳了圖片";
    }
   }
   catch(Exception ex)
   {
       txtMessage.Text = ex.Message.ToString();
   }
}

//讀取

pirvate Read()

{

 int imgId = int.Parse(Request.QueryString["imgId"]);//imgId為圖片的id
   //建立資料庫連接
   string connString = "server=192.168.1.250;database=image;uid=pwqzc;pwd=cn0088";
   SqlConnection conn = new SqlConnection(connString);
   //資料庫動作陳述式
   string selString = "select * from image where image_id = @image_id";
   SqlCommand comm = new SqlCommand(selString,conn);
   comm.Parameters.Add(new SqlParameter("@image_id",SqlDbType.Int,4));
   comm.Parameters["@image_id"].Value = imgId;
   conn.Open();//開啟資料庫連接
   SqlDataReader dr = comm.ExecuteReader();//讀出資料
   dr.Read();//讀一行
   //設定輸出檔案的類型
   Response.ContentType = (string)dr["image_content_type"];
   //輸出圖片檔案位元據
   Response.OutputStream.Write((byte[])dr["image_data"],0,(int)dr["image_size"]);
   Response.End();
   dr.Close();
   conn.Close();

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.