图片文件blob存入服务器,将base64编码的图像另存为BLOB到服务器端数据库

我正在使用以下代码从我的 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);

}

我正在encodedImage通过POST将此字符串发送到我的PHP服务器,并将其接收到$encodedImage。我有一个数据库,其中有一个myImagetype字段MEDIUMBLOB。我试图保存在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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值