C#和JAVA實現圖片和BASE64互轉

來源:互聯網
上載者:User

C#和JAVA實現圖片和BASE64互轉

Base64編碼在Web方面有很多應用,譬如在URL、電子郵件方面。有種比較常見的情境就是將圖片轉換為Base64字串進行儲存。.Net和Java都可以實現此種情境。.Net Framework也提供了現成的功能類(System.Convert)用於將位元據轉換為Base64字串。將圖片轉化為Base64字串的流程是:首先使用BinaryFormatter將圖片檔案序列化為位元據,然後使用Convert類的ToBase64String方法。將Base64字串轉換為圖片的流程正好相反:使用Convert類的FromBase64String得到圖片檔案的位元據,然後使用BinaryFormatter還原序列化方法。
///      /// 將圖片資料轉換為Base64字串     ///      ///     ///     private void ToBase64(object sender, EventArgs e)     {       Image img = this.pictureBox.Image;       BinaryFormatter binFormatter = new BinaryFormatter();       MemoryStream memStream = new MemoryStream();       binFormatter.Serialize(memStream, img);       byte[] bytes = memStream.GetBuffer();       string base64 = Convert.ToBase64String(bytes);       this.richTextBox.Text = base64;     }     ///      /// 將Base64字串轉換為圖片     ///      ///     ///     private void ToImage(object sender, EventArgs e)     {       string base64 = this.richTextBox.Text;       byte[] bytes = Convert.FromBase64String(base64);       MemoryStream memStream = new MemoryStream(bytes);       BinaryFormatter binFormatter = new BinaryFormatter();       Image img = (Image)binFormatter.Deserialize(memStream);       this.pictureBox.Image = img; }
Java方面實現為:需要匯入sun.misc.BASE64Decoder.jar包。實現代碼為:
package com.axbsec.util;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.OutputStream;import Decoder.BASE64Decoder;public class StringToImg {    public static final int NUMBER=2833;    public static void main(String[] args) {        File fPhotos=new File("C:/Users/Desktop/photos.txt");        File fIDCards=new File("C:/Users /Desktop/idcards.txt");        BufferedReader reader=null;        BufferedReader reader1=null;        String[] fPhotosStr;        String[] fIDCardsStr;        try {            reader=new BufferedReader(new FileReader(fPhotos));            reader1=new BufferedReader(new FileReader(fIDCards));            fPhotosStr = new String[NUMBER];            fIDCardsStr = new String[NUMBER];            String tempString =null;            String tempString1=null;            int line=0;            int line1=0;            while ((tempString=reader.readLine())!=null) {                fPhotosStr[line]=tempString;                line++;            }            reader.close();            while ((tempString1=reader1.readLine())!=null) {                fIDCardsStr[line1]=tempString1;                line1++;            }            reader1.close();            for(int i=0;i
通過這兩種平台圖片轉換為Base64的方法展示,就可以輕易的稍作修改完成將圖片儲存的業務情境了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.