java 怎么将base64转成照片

Stringfile="......base64..........";
StringfileName=test+".jpg";
StringfilePath="/home/"+fileName;
byte[]json=null;
try{
json=file.getBytes("UTF-8");
json=Base64.decodeBase64(json);
Filefiles=newFile(filePath);
=null;
try{
imageOutput=newFileImageOutputStream(files);
imageOutput.write(json,0,json.length);
}catch(FileNotFoundExceptione){
_log.info(e.getMessage());
}catch(IOExceptione){
_log.info(e.getMessage());
}
try{
imageOutput.close();
}catch(IOExceptione){
_log.info(e.getMessage());
}
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}

请点赞,谢谢

Ⅱ 将base64位转换成png图片的java代码

//base64字符串转化成图片
public static boolean GenerateImage(String imgStr)
{ //对字节数组字符串进行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图片
String imgFilePath = "d://222.jpg";//新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
return true;
}
catch (Exception e)
{
return false;
}
}
希望可以帮到你。

Ⅲ Java 在for循环内用base64解析多张图片问题,求高手指点

synchronized 方法是
将多条操作共享数据的线程代码封装起来,当有线程在执行回代码的时候。其他线程不可以答参与进来。
必须要当前线程把这些代码执行完后。其他线程才能进来。参与运算。

你要不就把同步删了,,要不就是你看哈你的线程调用该方法的时候 是不是出错了

Ⅳ java怎样把base64的图片显示到页面

和java没关系,网络html img base64
<img src=“data:image/png;base64,iVBORw0KGgoAAA。。。。/>

Ⅳ java。。将网络图片进行base64编码

String s = new sun.misc.BASE64Encoder().encode(url.getByte());

Ⅵ java中如何用base64解码图片,并返回图片,不保存。

给你发个我以前的工具类吧、
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class ImageChange {
/**
* 从path这个地址获取一张图片然后转为base64码
* @param imgName 图片的名字 如:123.gif(是带后缀的)
* @param path 123.gif图片存放的路径
* @return
* @throws Exception
*/
public static String getImageFromServer(String imgName,String path)throws Exception{
BASE64Encoder encoder = new sun.misc.BASE64Encoder();
File f = new File(path+imgName);
if(!f.exists()){
f.createNewFile();
}
BufferedImage bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "gif", baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
}

/**
* 将一个base64转换成图片保存在 path 文件夹下 名为imgName.gif
* @param base64String
* @param path 是一个文件夹路径
* @param imgName 图片名字(没有后缀)
* @throws Exception
*/
public static String savePictoServer(String base64String,String path,String imgName)throws Exception{
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
byte[] bytes1 = decoder.decodeBuffer(base64String);
ByteArrayInputStream s = new ByteArrayInputStream(bytes1);
BufferedImage bi1 =ImageIO.read(s);

Date timeCur = new Date();
SimpleDateFormat fmtYY = new SimpleDateFormat("yyyy");
SimpleDateFormat fmtMM = new SimpleDateFormat("MM");
SimpleDateFormat fmtDD = new SimpleDateFormat("dd");
String strYY = fmtYY.format(timeCur);
String strMM = fmtMM.format(timeCur);
String strDD = fmtDD.format(timeCur);

String realPath = path+"/"+strYY+"/"+strMM+"/"+strDD;

File dir=new File(realPath);
if(!dir.exists()){
dir.mkdirs();
}
String fileName=path+"\\"+strYY+"\\"+strMM+"\\"+strDD +"\\"+imgName+".gif";
File w2 = new File(fileName);//可以是jpg,png,gif格式
ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动

return fileName;
}

public static void main(String[] args) throws Exception {
System.out.println(getImageFromServer("001001.gif","d:"));
}
}

Ⅶ java怎么把base64的图片显示到页面

base64可以转成二进制数组。然后直接往外输出就好了。

Ⅷ java 把一个网络图片转换为base64

这个简单啊
(1)把获取url流转为bitmap
(2)把bitmap再转为base64
public static Bitmap getBitMBitmap(String urlpath) {
Bitmap map = null;
try {
URL url = new URL(urlpath);
URLConnection conn = url.openConnection();
conn.connect();
InputStream in;
in = conn.getInputStream();
map = BitmapFactory.decodeStream(in);
// TODO Auto-generated catch block
} catch (IOException e) {
e.printStackTrace();
}
return map;
}

第二步
/**
* bitmap转为base64
* @param bitmap
* @return
*/
public static String bitmapToBase64(Bitmap bitmap) {

String result = null;
ByteArrayOutputStream baos = null;
try {
if (bitmap != null) {
baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);

baos.flush();
baos.close();

byte[] bitmapBytes = baos.toByteArray();
result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (baos != null) {
baos.flush();
baos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
有什么问题提问就好

Ⅸ Java 图片base64编码是对图片存放路径进行编码还是对图片本身字节进行编码

对图片本身字节进行编码。你可以完成编码后,把图片删除。拿着对应的编码,解码后还是能得到对应图片的,所以可以证明以上结论。

Ⅹ java将base64转换成图片并保存在指定路径下ImageIO.write(bi1,"png",w2)提示image==null

这个简单啊
(1)把获取url流转为bitmap
(2)把bitmap再转为base64
(Stringurlpath){
Bitmapmap=null;
try{
URLurl=newURL(urlpath);
URLConnectionconn=url.openConnection();
conn.connect();
InputStreamin;
in=conn.getInputStream();
map=BitmapFactory.decodeStream(in);
//TODOAuto-generatedcatchblock
}catch(IOExceptione){
e.printStackTrace();
}
returnmap;
}

第二步
/**
*bitmap转为base64
*@parambitmap
*@return
*/
(Bitmapbitmap){

Stringresult=null;
ByteArrayOutputStreambaos=null;
try{
if(bitmap!=null){
baos=newByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,100,baos);

baos.flush();
baos.close();

byte[]bitmapBytes=baos.toByteArray();
result=Base64.encodeToString(bitmapBytes,Base64.DEFAULT);
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
if(baos!=null){
baos.flush();
baos.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
returnresult;
}