将base64数据流文件转换为图片文件

前后端交互处理图片的时候,会出现这样的情况:
前端传递给我们后端的是base64的图片数据流,我们需要做的就是将它转为图片并且保存起来,根据需要再决定是否将图片存储路径信息返回给前端。

下面就来说一下这个怎么处理,其实很简单,就是一个转码存储的过程。

  • 1.假设现在前端将数据流传过来了(这个地方你可以自己用在线工具将本地的某张图片转码为base64格式然后拿来测试)

  • 2.我们接收到之后需要进行一个简单的写入和存储操作。

  • 3.代码如下

// $base_img是获取到前端传递的值
$base_img = str_replace('data:image/jpg;base64,', '', $base_img);
//  设置文件路径和命名文件名称
$path = "./";
$prefix = "img_";//前缀可不写
$output_file = $prefix.time().rand(100,999).'.jpg';
$path = $path.$output_file;
//  创建将数据流文件写入我们创建的文件内容中
 file_put_contents($path, base64_decode($base_img));
// 输出文件
print_r($output_file);
  • 4.ok,这样就搞定了。你可以将路径信息返回给前端使用。

你可能感兴趣的:(PHP)