程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.C#實現圖片文件與base64string編碼解碼

asp.C#實現圖片文件與base64string編碼解碼

編輯:ASP.NET基礎
圖片當然是存在那個js文件裡面,於是我就打開了flashblocker.js,然後浏覽一下,找到下面一句:  
var flash = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAA......'
 (小白)<SPAN style="FONT-SIZE: small">這是我第一次認識到base64的用場,記得以前保存網頁的時候,總習慣保存為.mht格式,因為這樣會把網頁中的圖片也保存下來,但是一直奇怪為何只有一</SPAN>
view sourceprint?<SPAN style="FONT-SIZE: small">個.mht文件,打開來卻有圖片,現在知道保存為mht格式時就把網頁中的圖片全部轉成base64字符串存在裡面了。</SPAN>
view sourceprint?<SPAN style="FONT-SIZE: small"> </SPAN><SPAN style="FONT-SIZE: small">實現:</SPAN>
view sourceprint?<SPAN style="FONT-SIZE: small">  <IMG src="http://pic002.cnblogs.com/img/1971ruru/201003/2010031510340776.jpg"></SPAN>
其實很簡單,圖片文件到Base64String的轉換,只需要Convert類裡面的一個ToBase64String方法即可
復制代碼 代碼如下:
Image fromImage = Image.FromFile( txtImg.Text );
MemoryStream stream = new MemoryStream();
fromImage.Save( stream, imgFormat[extension] );
txtString.Text = Convert.ToBase64String( stream.GetBuffer() );

  在這裡補充一下,貌似icon文件是不能轉換的(自己試驗的結果),需要轉icon的話就要變通一下了,曲線救國~
  從Base64String提取圖片的話,需要Convert.FromBase64String()方法,
復制代碼 代碼如下:
MemoryStream stream = new MemoryStream( Convert.FromBase64String( txtString.Text ) );
bitmap img = new Bitmap( stream );
img.Save( txtImg.Text );
MessageBox.Show( "Completed!" );

貌似有些同志在轉換回來的時候出現問題,感覺應該是定義stream時出的問題,new的時候直接把轉換的byte[]給它,應該就不會存在“超出預計范圍”的錯誤。轉換出問題應該是跟原圖用Java或者其它語言生成的沒有關系的。因為base64編碼應該是一樣的。
作者:一修先生     
出處:http://1971ruru.cnblogs.com
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved