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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java将base64转换成图片并保存在指定路径下ImageIO.write(bi1,"png",w2)提示image==null相关的知识,希望对你有一定的参考价值。

这个简单啊
(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;
参考技术A 代码呢??追问

是我的base64字符需要做处理,已经解决啦,多谢啦

php 图片流 转为base64

我只会用这种方法生成图片
//以上代码忽略
imagepng($code)
这样会直接在浏览器输出图片,后面加路径则会在指定位置输出图片

那么问题来了,我要把图片转换为base64编码,就必须先要imagepng($code,路径)
然后再从路径读图片转为base64编码,有没有办法直接用 $code这个参数直接转换为base64编码的图片?据查这个$code参数就是图片流,我就是想不通过写出文件的步骤直接转为base64编码,求指教。

参考技术A 使用PHP对图片进行base64解码输出
<?php
$img = 'test.jpg';
$base64_img = base64EncodeImage($img);
echo '<img src="' . $base64_img . '" />';
function base64EncodeImage ($image_file)
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;

?>

以上是关于java将base64转换成图片并保存在指定路径下ImageIO.write(bi1,"png",w2)提示image==null的主要内容,如果未能解决你的问题,请参考以下文章

PHP将Base64图片转换为本地图片并保存

如何将base64位的字节数组转换成图片并显示

PHP将Base64图片转换为本地图片并保存

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

php 将图片转换 base64 格式与还原生成图片

php 图片流 转为base64