我有一个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>
此外,这是生成该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.
答案 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.