php base64转图片保存本地

调用函数

   public function base64(){
       $img =  $this->request->param('img');
       $img =  'data:image/jpeg;base64,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';
       return  $this->base64_image($img,'storage','222');
    }

转图片并保持到本地

public function base64_image($base64_image_content,$path,$imgname=''){
    /**
     * [将Base64图片转换为本地图片并保存]
     * @E-mial 332410549@qq.com
     * @TIME   2023-08-07
     * @param  [Base64] $base64_image_content [要保存的Base64]
     * @param  [目录] $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);
            }
            $img = '';
            $img = empty($imgname) ?  time() : $imgname;
            $new_file = $new_file.$img.".{$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;
        }


}

#结果
在这里插入图片描述

JavaBase64是一种用于编码二进制数据的算法。在Java中,使用JavaBase64可以将字节数组编码为字符串,也可以将字符串解码回字节数组。如果要将JavaBase64解码的数据化为图片保存到本地,可以按照以下步骤进行: 1. 使用JavaBase64的解码方法将字符串解码为字节数组。 2. 创建一个文件输出流,指定保存图片的路径和文件名。 3. 将字节数组写入文件输出流,生成图片文件。 下面是一个示例代码: ``` import java.io.FileOutputStream; import java.io.IOException; import java.util.Base64; public class Base64Decoder { public static void main(String[] args) { String base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAAABlBMVEX///+ZmZkzrOgQAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAe1JREFUOMvNj1EOgzAMRO/8/NnW6kF9AH3WgRdVpEeT5HBUVXzIq+cOo7cMbiCP0AsT7lB28vJW5DbTz7h4z5Mm4XZK4dR7y7qO/fSCNxU9uABlzhm58QbyD5w9wL5xR8wZzo2UMTtGvQaL7Cp7x6j/ffPf6SxVWgEaxo6c+oKcDdP6fK1n4cRKoCkLqQ3aFAp+P5IyDZs8yKQbiqKtODl14G0jsv9gO3jbfjA35LHt2jy3CT1LwP7A9eGyfj3d5M+4COBv8IZfnd+Kll8H+Qb2oDcgAAAABJRU5ErkJggg=="; byte[] imageBytes = Base64.getDecoder().decode(base64String); try (FileOutputStream fos = new FileOutputStream("test.png")) { fos.write(imageBytes); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上述示例中,将base64编码的字符串化为字节数组后,使用文件输出流将字节数组写入到本地文件“test.png”中。需要注意的是,如果文件已经存在,会覆盖原来的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值