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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 把一个网络图片转换为base64相关的知识,希望对你有一定的参考价值。

例如url=http://q.qlogo.cn/qqapp/101123203/D4573A196E24A40A312D780C6772DEFF/100
应该怎么做呢,请大神详细点

这个简单啊
(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;

有什么问题提问就好追问

不能直接由url转换为base64吗,网上有人说可以,但是太简单了,看不懂String s = new sun.misc.BASE64Encoder().encode(url.getByte());

追答

这个也可以,也是用函数的

追问

但是我不会用,请问 大神怎么用啊,URL url=new URL(String); String s = new sun.misc.BASE64Encoder().encode(url.getByte());是这样写啊大神

追答

public string base64Encode(string str) //加密

byte[] bt = Encoding.UTF8.GetBytes(str);
return Convert.ToBase64String(bt);

我查了查这个好像也行的。你那样应该也可以的。你试了没?

追问

试了,由于小弟菜鸟一个,没有试验成功

参考技术A base64不是加密吗。。什么叫图片转化成base64.。追问

就是把一个网络图片的url转换为base64格式

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

本文出至:新太潮流网络博客

/**
 * [将Base64图片转换为本地图片并保存]
 * @E-mial [email protected]
 * @TIME   2017-04-07
 * @WEB    http://blog.iinu.com.cn
 * @param  [Base64] $base64_image_content [要保存的Base64]
 * @param  [目录] $path [要保存的路径]
 */
function base64_image_content($base64_image_content,$path){
    //匹配出图片的格式
    if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base64_image_content, $result)){
        $type = $result[2];
        $new_file = $path."/".date(‘Ymd‘,time())."/";
        if(!file_exists($new_file)){
            //检查是否有该文件夹,如果没有就创建,并给予最高权限
            mkdir($new_file, 0700);
        }
        $new_file = $new_file.time().".{$type}";
        if (file_put_contents($new_file, base64_decode(str_replace($result[1], ‘‘, $base64_image_content)))){
            return ‘/‘.$new_file;
        }else{
            return false;
        }
    }else{
        return false;
    }
}

本文出至:新太潮流网络博客

以上是关于java 把一个网络图片转换为base64的主要内容,如果未能解决你的问题,请参考以下文章

C# Base64字符串转换成图片及图片转换为Base64

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

php 图片流 转为base64

php 图片流 转 base64

java中图片地址base64编码的相互转换

怎么把base64的字符串转换为图片后在jQuery的facebox里显示