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编码,求指教。
<?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的主要内容,如果未能解决你的问题,请参考以下文章