JAVA:
package util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
import com.alibaba.druid.util.Base64;
/**
* @description base64工具類
* @author
*
*/
public class Base64Util {
/**
* @desctiption base64轉圖片 (默認存放Tomcat中upload_files下,默認格式png)
* @param strBase64(base64),path(相對路徑存儲路徑),filename(文件名,默認為時間戳)
* @author
*/
public static boolean base64ToPic(String strBase64,String path,String filename){
if(StringUtils.isEmpty(strBase64)){
System.out.println("Base64為空");
return false;
}
Date date = new Date();
long datetime = date.getTime();
String catalina_base=System.getProperty("catalina.base");
//上傳文件保存位置
path =catalina_base+"/upload_files/"+path;
File f = new File(path);
if(!f.exists()){
f.mkdirs();
}
Base64 base = new Base64();
byte[] b = base.base64ToByteArray(strBase64);
for(int i=0;i<b.length;++i){
if(b[i]<0){
b[i]+=256;
}
}
String imgFilePath = path+"/"+datetime+".png";
if(StringUtils.isNotEmpty(filename)){
imgFilePath = path+"/"+filename;
}
try {
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Base64轉圖片失敗");
return false;
}
return true;
}
/**
* @desctiption 圖片轉base64
* @param picPath (文件路徑)
* @author
*/
public static String picToBase64(String picPath){
File f = new File(picPath);
if(!f.isDirectory()){
System.out.println("此文件路徑無效!");
return null;
}
InputStream in = null;
byte[] data = null;
try {
in = new FileInputStream(picPath);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Base64 base = new Base64();
String base64 = base.byteArrayToBase64(data);
return base64;
}
}
JS:
<script type="text/javascript">
function test() {
var url = "1.png";//這是站內的一張圖片資源,采用的相對路徑
convertImgToBase64(url, function (base64Img) {
//轉化后的base64
document.write(base64Img);
});
}
//實現將項目的圖片轉化成base64
function convertImgToBase64(url, callback, outputFormat) {
var canvas = document.createElement('CANVAS'),
ctx = canvas.getContext('2d'),
img = new Image;
img.crossOrigin = 'Anonymous';
img.onload = function () {
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL(outputFormat || 'image/png');
callback.call(this, dataURL);
canvas = null;
};
img.src = url;
}
</script>