熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Asp.net把圖片存入數據庫和讀取圖片的方法

2013-11-13 10:40:19  來源: .NET編程 

  網上關於ASPNET上傳圖片到數據庫的資料非常多常用的如下:
存儲圖片類型數據有以下幾種方式
將圖片轉換為二進制數組(byte[])

復制代碼 代碼如下:
byte[] fileData = thisFileUploadFileBytes;

  
根據路徑將文件轉換為進制數組

復制代碼 代碼如下:
代碼
public byte[] returnbyte(string strpath)
{
 // 以二進制方式讀文件
    FileStream fsMyfile = new FileStream(strpath FileModeOpenOrCreate FileAccessReadWrite);
// 創建一個二進制數據流讀入器和打開的文件關聯
    BinaryReader brMyfile = new BinaryReader(fsMyfile);
// 把文件指針重新定位到文件的開始
    brMyfileBaseStreamSeek( SeekOriginBegin);
   byte[] bytes = brMyfileReadBytes(ConvertToInt(fsMyfileLengthToString()));
// 關閉以上new的各個對象
    brMyfileClose();
   return bytes;
}

  
img 類型得到二進制數組

復制代碼 代碼如下:
public static byte[] Getbyte(Image img)
{
    MemoryStream stream = new MemoryStream();
    imgSave(stream ImageFormatJpeg);
    byte[] mydata = new byte[streamLength];
    mydata = streamToArray();
    streamClose();
    return mydata;
 }

  
讀取image類型的數據並顯示在網頁上的方式如下
直接返回image 類型

復制代碼 代碼如下:
private SystemDrawingImage getImageDataFromOracle()
{
string sql = "select IMGDATA from t_img where imgID=";
string strconn = SystemConfigurationConfigurationManagerConnectionStrings["ConnectionStringForOracle"]ToString();
OracleConnection oraConn = new OracleConnection(strconn);
OracleCommand oraComm = new OracleCommand(sql oraConn);
oraConnOpen();
byte[] fileData = (byte[])oraCommExecuteScalar();
oraConnClose();
SystemIOMemoryStream ms = new SystemIOMemoryStream(fileData);
SystemDrawingImage img = SystemDrawingImageFromStream(ms);
return img;
}

  
利用頁面輸入來顯示圖片
頁面ImageShowaspx (Page_Load方法)

復制代碼 代碼如下:
 protected void Page_Load(object sender EventArgs e)
{
byte[] b_logoImg = (byte[])dt_channelImgRows[]["LogoImage"]; //得到byte[] 數組這裡只是舉個例子
   if (b_logoImgLength > )
{
SystemDrawingImage logoImg;
MemoryStream ms = new MemoryStream(b_logoImg);
ResponseClear();
ResponseContentType = "image/gif";
ResponseOutputStreamWrite(b_logoImg b_logoImgLength);
ResponseEnd();
}
}

  
圖片路徑寫成為<img src = "ImageShowaspx" />


From:http://tw.wingwit.com/Article/program/net/201311/14264.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.