gpt4 book ai didi

php - 将 base64 编码的图像以 BLOB 形式保存到服务器端数据库

转载 作者:可可西里 更新时间:2023-11-01 07:32:27 28 4
gpt4 key购买 nike

我正在使用以下代码从我的 Android 应用 中拍照:

if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK){
photo = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG, 40, baos);
byte[] photoByte = baos.toByteArray();
encodedImage = Base64.encodeToString(photoByte,Base64.DEFAULT);
}

我正在通过 POST 将此字符串 encodedImage 发送到我的 PHP 服务器,并将其接收到 $encodedImage。我有一个数据库,其中有一个类型为 MEDIUMBLOB 的字段 myImage。我试图将 encodedimage 保存在 myImage 中,但它被保存为损坏的图像。我试图另存为 base64_decode($encodedImage) 但不知何故这也不起作用。

我要完成三件事:

  • 保存图片到服务器端数据库(BLOB)

  • 在网页上显示图片

  • 将其发送回 Android 应用。

我在理解上述任务所需的不同格式图像的转换方面遇到了问题。

对于我当前的项目,我不想将图像保存到文件夹并提供数据库链接,因此该选项对我来说是关闭的。

我保存图像的 PHP 代码:

$baseImage = $_POST['baseImage'];
$blobImage = base64_decode($baseImage);
$query = "INSERT INTO `complaints`(`myImage`,...) VALUES ('$blobImage',...)"
$result = mysqli_query($conn,$query);

最佳答案

不要用 PHP 解码你的图像,当你收到它时存储它,现在,您可以在前端打印图像,如下所示

<?php
$img = '<img src="data:image/jpeg;base64,' . $encodedImgStoredInDB . '">';
print $img;
?>

关于php - 将 base64 编码的图像以 BLOB 形式保存到服务器端数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037127/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com