【发布时间】:2016-02-19 16:41:04
【问题描述】:
在我的 android 应用程序中,我捕获图像或从图库中选择图像。 然后我将该图像编码为 base64 字符串。 然后我将该图像以 JSON 格式或正常的发布请求发送到 PHP。 然后我将base64字符串解码为PNG图像并保存在服务器上。 然后将该图像的路径保存到 mySQL image_url 列。
这是我目前工作的方式..它创建图像文件..但有时它会创建损坏的图像文件(全黑或 0 KB 或 20 KB 大小)。 Picasso 不适用于此类文件。它显示了毕加索的解码器失败错误。
这种方式将图像质量从 1.5 MB 图像(在设备上)降低到 50 KB 图像(在服务器上)。我编码为 base64 的代码是,
` // method for bitmap to base64
public static String encodeTobase64(Bitmap image) {
Bitmap immage = image;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immage.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
return imageEncoded;
}`
如果有人有建议,请帮忙。或其他发送和保存图像的方式。
欢迎编辑。
【问题讨论】:
-
您尝试过在多部分请求中发送照片吗?
-
@MuchOverflow 我读过但从未尝试过.. 你能分享更多关于它的信息..sample 吗?谢谢
-
这个 stackoverflow 问题有一个很好的答案。请检查一下stackoverflow.com/a/5220954/3533289
标签: php android mysql json image