如何将Base64图像保存到图像文件夹

时间:2016-01-02 17:38:12

标签: javascript php jquery image

我有一个JQUERY图像裁剪插件,可以将裁剪结果存储为Base64 / JPEG。我想将Base64 IMG保存为根目录中名为IMAGES的文件夹中的实际JPG。

下面的示例屏幕截图显示了我想要保存为文件的Base64图像。 SAVE按钮现在不做任何事情,但应该执行我想要的功能。

我假设还有一些PHP可以保存到IMAGES部分。如果用一些随机名称保存图像文件也是好的(IE - 不是image.jpg,而是image_random52.jpg)

<input id="save_to_file" type="button" value="Save" onClick="MaybeSomethingShouldGoHERE???()"></div>

enter image description here

此外,这是生成该Base64图像的相关PHP代码。

$resizedImage = imagecreatetruecolor($imgW, $imgH);
imagecopyresampled($resizedImage, $source_image, 0, 0, 0, 0, $imgW,
            $imgH, $imgInitW, $imgInitH);
$dest_image = imagecreatetruecolor($cropW, $cropH);
imagecopyresampled($dest_image, $resizedImage, 0, 0, $imgX1, $imgY1, $cropW,
            $cropH, $cropW, $cropH);
ob_start();
imagejpeg($dest_image, null, $jpeg_quality);
$imgData = ob_get_clean();
ob_end_clean();
$response = array(
    "status" => 'success',
    "url" => 'data:'.$what['mime'].';base64,'.base64_encode($imgData),
  );

 echo json_encode($response);

更新的PHP代码

$response = array(
    "status" => 'success',
    "url" => 'data:'.$what['mime'].';base64,'.base64_encode($imgData),
    $final_output = 'data:'.$what['mime'].';base64,'.base64_encode($imgData)
  );


   $decoded=base64_decode($final_output);

file_put_contents('newImage.JPG',$decoded);
//leave it to you to randomize the filename.

1 个答案:

答案 0 :(得分:0)

好的,这是我的解决方案。我没有实际使用“保存”按钮的OnClick,但是直接从我的裁剪PHP文件执行了保存。我添加了从$ final_output开始的最后3行。这允许我将文件保存到文件夹。

在我没有理解逻辑之前,我现在做了。

  "status" => 'success',
    "url" => 'data:'.$what['mime'].';base64,'.base64_encode($imgData),

$final_output = base64_encode($imgData)

  );

//Decode and Save Image 
$decoded=base64_decode($final_output);
file_put_contents($output_filename.$type,$decoded);
//leave it to you to randomize the filename.