1. 程式人生 > >ASP.Net將圖片以二進位制方式存入資料庫,並讀取

ASP.Net將圖片以二進位制方式存入資料庫,並讀取

今天研究了一下如何將圖片已二進位制形式存入資料庫,然後再從中讀取顯示在頁面上。下面我會貼出一些關鍵程式碼。

1.將圖片存入資料庫

前臺程式碼:

<asp:FileUpload ID="FileUploadImage" runat="server" />

後臺程式碼:

需要的名稱空間using System.Data.SqlClient;  using System.Drawing;  using System.IO;

     /// <summary>
    /// 新增人員資訊
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        byte[] image = new byte[FileUploadImage.PostedFile.ContentLength];
        FileUploadImage.PostedFile.InputStream.Read(image, 0, FileUploadImage.PostedFile.ContentLength);

        #region //新增人員資訊到資料庫
        try 
        {
            string connString = System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand command = new SqlCommand("insert into tblUser(Image) values (@image)",conn);
            command.Parameters.AddWithValue("@image",image);
            conn.Open();
            if (command.ExecuteNonQuery() > 0)
            {
                ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"Success","alert('新增成功!')",true);
            }
            else
            {
                ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"Error","alert('新增失敗')",true);
            }
            conn.Close();
        }
        catch (Exception ex)
        {
            ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"Exception","alert('"+ex.Message+"')",true);
        }
        #endregion

    }

2.將二進位制圖片從資料庫中讀取出來

其實這只是用了一個變通的做法,原先是將image中src為圖片在伺服器上的儲存地址,而現在是將src換成一個頁面,而該頁面顯示的正是資料庫中的圖片。

在建立了一個新項後(暫時將該項命名為showImage.aspx),直接在後臺新增程式碼

protected void Page_Load(object sender, EventArgs e)
    {
        string connString = System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand command = new SqlCommand("select image from tblUser where 
[email protected]
", conn); command.Parameters.AddWithValue("@id",Request.QueryString["id"]); conn.Open(); byte[] buffer = (byte[])command.ExecuteScalar(); if (buffer == null) return; Response.ContentType = buffer.ToString(); //System.Byte[] Response.BinaryWrite(buffer); }
3.在需要的顯示圖片的頁面引用上面的showImage.aspx頁面
我是用在gridview中,顯示使用者資訊列表時同時顯示該使用者的頭像照片
<asp:TemplateField HeaderText="登記圖片">
<ItemTemplate>
<image src="showImage.aspx?id=<%#Eval("ID") %>"></image>    
        </ItemTemplate>
</asp:TemplateField>

相關推薦

ASP.Net圖片二進位制方式存入資料庫讀取

今天研究了一下如何將圖片已二進位制形式存入資料庫,然後再從中讀取顯示在頁面上。下面我會貼出一些關鍵程式碼。 1.將圖片存入資料庫 前臺程式碼: <asp:FileUpload ID="FileUploadImage" runat="server" />後臺程式

SQLserver C#圖片二進位制方式儲存到資料庫再從資料庫讀出圖片

一 儲存到資料庫 1、建立資料表UserPhoto  userID為varchar(50)    設定為標識列unique不能重複   alter table UserPhoto add  unique(UserID) &n

php圖片二進位制儲存到mysql資料庫顯示

<?phpinclude('./conn.php');if ($_POST['submit']) {     if ($_FILES['image']['size']) {         $names = $_FILES['image']['name'];         $arr   = explo

C#照片或圖片轉化為byte[]存入資料庫資料庫中讀照片

publicstaticbyte[] GetBytesByImagePath(string strFile) {byte[] photo_byte =null;using (FileStream fs =new FileStream(strFile, FileMode.Open, FileAcc

Python3.6 讀取txt內容建立資料夾;圖片拷貝至指定資料夾刪除圖片

 讀取txt內容建立資料夾 # 引入模組 import os #建立資料夾 def mkdir(path): # 去除首位空格 path = path.strip() # 去除尾部 \ 符號 path = path.rstrip("\\")

在ThinkPHP5框架下引入Ueditor實現向七牛雲物件儲存上傳圖片同時圖片資訊儲存到MySQL資料庫同時實現lazyload懶載入

這是我花了很多天的時間才得以真正實現的一組需求。 文章後面有完整Demo的GitHub連結。 一、 需求描述 1. 應用是基於ThinkPHP5開發的; 2. 伺服器環境是LNMP,PHP版本是7.2,資料庫是MySQL5.6; 3. 由使用者(包括管理員)上傳的圖片一類的媒體檔案不能直接上傳到應用

PB 如果把PDF 轉換成二進位制資料儲存到資料庫讀取顯示

PB如果把PDF檔案轉換成二進位制資料儲存到資料庫,並讀取顯示。 給視窗新增一個PDF的OLE控制元件。 //OLE控制元件關聯檔案 string ls_filepath,ls_filename blob lb_object,ole_blob GetFileOpenName

圖片檔案二進位制方式儲存和恢復

/** * 將圖片轉換成二進位制 * * @return */ static String getImageBinary() { BASE64Encoder encoder = new sun.misc.BASE64Encoder(); //本地圖片 Fil

ASP.NET裡面二進位制的形式上傳和讀取圖片

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using Syste

【轉載】C#圖片二進制流的方式存入數據庫

nbsp pan his HERE acc ddb 獲取 特殊 圖像 在C#開發應用程序的過程中,圖片一般會存放在文件系統中,當然圖片也可以二進制的方式存放到數據庫中,不過一般不建議存放在數據庫中,因為圖片占用的空間還是挺大的,特殊情況下可以考慮將圖片存在數據。此文將介紹如

ASP.NET MVC圖片管理(上傳預覽與顯示) 資料流儲存資料庫方式

先看看效果(下面gif動畫製作有點大,5.71MB):題外話:上面選擇圖片來源於Insus.NET的新浪微博:http://weibo.com/104325017 也是昨晚(2015-07-03)Insus.NET烹飪的晚餐。如果你也想學習烹飪,也可以關注Insus.NET的

Delphi二進位制方式讀取圖片顯示出來

procedure TForm1.BitBtn1Click(Sender: TObject); var StringStream : TStringStream; FSize : integer; FileData : string; i : integer; DataSt

asp.net中將圖片或檔案存入資料庫讀取顯示在image控制元件中

      最近在做一個專案時,發現數據庫的設計是把圖片的存放欄位設定成了image型別。這就說明你只能把檔案存入到資料庫中,這個做法不是我常用的,只存圖片路徑的方法。所以就上網去查了一下。大體做法都一樣。但是有一點不好

ASP.NET MVC中錯誤處理方式

itl com archive href tle http ive hive .html http://www.cnblogs.com/shenba/archive/2011/04/16/2018441.htmlASP.NET MVC中錯誤處理方式

asp.net-html圖片的上傳

校驗 消息 data date map error ext 提交 ring 1,文件的上傳存在一個非常致命的文件,要是上傳病毒文件,可能會使你的系統崩潰 所以判斷文件的類型的非常重要的。 不能單獨與後綴名判斷,下面展示一種webform類型的上傳文件案例。 1,書寫htm

【親測】Asp.net Mvc5 + EF6 code first 方式連接MySQL總結

save created eof 節點配置 posit 創建 img from 建立連接時 本文原文地址為:https://www.cnblogs.com/summit7ca/p/5423637.html 原文測試環境為windows 8.1+Vs2013+MySql5.7

ASP.NET使用檔案流的方式下載檔案

               //以字元流的形式下載檔案                 string filePath = "D://

Asp.net中CheckBoxList的排列方式

方法一屬性 <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal"> </asp:CheckBoxList> //可選水

C語言:二進位制方式列印資料

程式碼: #include <stdio.h> #include <string.h> #include <stdlib.h> void decToBin(int num) { if(num>0) { decToBin(num/2);

圖片寫入二進位制檔案再從二進位制檔案還原圖片(c++)

1 #include "string" 2 #include "iostream" 3 #include "fstream" 4 using namespace std; 5 #define MAX 20480 6 void main() 7 { 8 string sPicPat