1. 程式人生 > >java的圖片和Base64編碼相互轉換

java的圖片和Base64編碼相互轉換

1 需要匯入的jar包:sun.misc.BASE64Decoder.jar

2 圖片轉換為base64編碼:

/**
	 * 將圖片轉換成Base64編碼
	 * 
	 * @param imgFile
	 *            待處理圖片
	 * @return
	 */
	public static String getImgStr(String imgFile) {
		// 將圖片檔案轉化為位元組陣列字串,並對其進行Base64編碼處理
		File file=new File(imgFile);
		InputStream in = null;
		byte[] data = null;
		// 讀取圖片位元組陣列
		try {
			in = new FileInputStream(file);
			data = new byte[in.available()];
			in.read(data);
			in.close();
			if(data!=null&&data.length>0){
				//CommonUtil.fileDelete(file);  //刪除圖片
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);
	}

3 將base64編碼轉換成圖片

/**
	 * @Description: 將base64編碼字串轉換為圖片
	 * @Author: 
	 * @CreateTime: 
	 * @param imgStr base64編碼字串
	 * @param path 圖片路徑-具體到檔案
	 * @return
	*/ 
    public static boolean GenerateImage(String imgStr,String imgFilePath)  
    {   //對位元組陣列字串進行Base64解碼並生成圖片  
        if (imgStr == null) //影象資料為空  
            return false;  
        BASE64Decoder decoder = new BASE64Decoder();  
        try   
        {  
            //Base64解碼  
            byte[] b = decoder.decodeBuffer(imgStr);  
            for(int i=0;i<b.length;++i)  
            {  
                if(b[i]<0)  
                {//調整異常資料  
                    b[i]+=256;  
                }  
            }  
            //生成jpeg圖片  
            OutputStream out = new FileOutputStream(imgFilePath);      
            out.write(b);  
            out.flush();  
            out.close();  
            return true;  
        }   
        catch (Exception e)   
        {  
            return false;  
        }  
    }  
	

相關推薦

java圖片Base64編碼相互轉換

1 需要匯入的jar包:sun.misc.BASE64Decoder.jar 2 圖片轉換為base64編碼: /** * 將圖片轉換成Base64編碼 * * @param imgFile * 待處理圖片 * @return

安卓中圖片Base64編碼字符集的相互轉換

前言:有幾天沒寫部落格了,最近趕專案,還有好哥們的婚禮加在一起,實在是忙壞了。說起好哥們結婚,就想多說幾句。想必大家和我一樣,在學校時有那麼幾個臭味相投的哥們,不多也不算少,一起上課,吃飯,去圖書館(其實次數很少),打球,玩遊戲,通宵,談人生理想(其實就是瞎扯淡)等等,天天

圖片base64編碼字符串 互相轉換圖片byte數組互相轉換

16進制 cnblogs exc 十六進制 tostring ati color int inpu 圖片和base64編碼字符串 互相轉換 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; imp

java處理圖片base64編碼互相轉換

最近做專案遇到,需要在signature簽名元素中添加簽名的base64編碼,網上找了js處理,出結果了,但編碼不正確。之後用java程式碼處理(與線上轉換http://imgbase64.duoshitong.com/結果一樣),直接上程式碼,如下: package ydysz.too

php utf8編碼gbk編碼相互轉換

1.utf8轉換為gbk header("Content-type:text/html;charset=UTF-8"); echo $str= 'utf8轉gbk!'; echo '<br />'; echo iconv("UTF-8

PHP圖片base64字串相互轉換函式

/** * base64字串轉換成圖片 * @param string $base64_string base64字串 * @param unknown $path 圖片儲存路徑 * @param string $prefix 圖片字首 * @return boolean */ function

圖片Canvas的相互轉換

相容性:IE9及以上,FF,Chrome, Opera, Safari 支援 drawImage() 方法。一、圖片轉 Canvas      提示:圖片資源必須載入完成後才能繪製在畫布上! va

Java物件XML的相互轉換

/** * Copyright (c) 2005-2012 springside.org.cn */ package com.gs.mountain.common.mapper; import java.io.StringReader; import java.io.StringWriter; impo

js blob流base64,以及filebase64相互轉換

js blob流和base64,以及file和base64的相互轉換 file和base64 1.file檔案轉換為bas

java 核心編程——IO流之字符流字節流相互轉換(四)

red amr nbsp main 字符輸入 txt not stat args 1.為什麽字符流和字節流需要轉換?   這是因為有一些時候系統給你提供的只有字節流,比如說System.in標準輸入流。就是字節流。你想從他那裏得到用戶在鍵盤上的輸入,只能是以轉換流將它轉換為

java中stringint的相互轉換

integer chan 也會 tee tex 什麽 產生 chang details java中string和int的相互轉換 int -> String int i=12345;String s="";核心:s=i+""; String -> int s="

JAVA裏面jsonjava對象之間的相互轉換

users str ons from ini java 互轉 json字符串 lis 1. 把java 對象列表轉換為json對象數組,並轉為字符串 JSONArray array = JSONArray.fromObject(list); String js

java UTC時間local時間相互轉換

互轉 cat color except static 相互轉換 clas AS mil 1、local時間轉UTC時間 /** * local時間轉換成UTC時間 * @param localTime * @return *

java使用SimpleDateFormat實現字符串日期的相互轉換

sta 字符串類 In void AS throws 轉換 格式化 字符串類型 public class TimeTwo { public static void main(String[] args) throws ParseException{ St

java裡面objectstring的相互轉換

1. string 轉 object Type type = new TypeToken<Object>() {}.getType(); Object obj = GsonUtils.fromJson(strValue, type);   2. object轉strin

Java基礎-----Stringint型別相互轉換

int --> String 1、和""進行拼接。 2、public static String valueOf(int i)。 3、int --> Integer --> String(Integer類的toString方法)。 String -

Java——Integer類的方法與實現,Stringint的相互轉換

基本型別和包裝類的對應          以下的封裝類可以用於基本資料型別與字串的轉換                    byte             Byte          short            Short          int         

python numpy陣列one-hot編碼相互轉換

import numpy as np from keras.utils import to_categorical data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 7] data

Java裡面timestamplong的相互轉換

long t = System.currentTimeMillis();// 獲得當前系統毫秒數,這個是1970-01-01到現在的毫秒數 System.out.println("t = "+t); Date da = new Date(t);System.out.println("da = "+da)

java:String類int型別相互轉換

public class Demo1_Integer { public static void main(String[] args) { // TODO Auto-generated meth