android - 在 android 中的服务器上上传 base64 转换后的图像

标签 android file-upload base64

我需要将 Image 转换为 base64 格式,然后将其上传到服务器,然后从服务器检索 base64 字符串并将其转换回图像......如何做?

最佳答案

首先将位图转换为Base 64

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    Bitmap bitmap = Bitmap.createScaledBitmap("Your Bitmap Object Here", 100, 100, false);
    bitmap = Bitmap.createScaledBitmap(bitmap, 100, 100, false);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    byte[] imageBytes = baos.toByteArray();
    String encoded = Base64.encodeToString(imageBytes, Base64.NO_WRAP);

然后使用 Json 对象上传如下:

        JSONObject jsonObject = new JSONObject();

        String withBase = "data:image/jpeg;base64," + encoded;
        jsonObject.put("b64", "" + withBase);
        System.out.println("base 64 == " + jsonObject.toString());
        return jsonObject.toString();

然后您可以在您的响应中检索这些 Base 64 字符串。

然后通过以下方式将这些Base64转换为位图:

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT); 位图 decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

然后在您的 ImageView 中使用这些位图。

关于android - 在 android 中的服务器上上传 base64 转换后的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5512503/

相关文章:

java - 从 Public Void 中获取变量 (Android)

android - Google Maps API V2 - 总是出现身份验证错误

php - Codeigniter 在安装文件夹外的根目录上传文件

javascript - AngularJS - 从base64下载文件

javascript - 更好地测试 base64 URI 支持(我可以在 JS 中创建一个大的 base64 编码图像吗?)

android - SQLite 向表中添加一个列表

android - 分区表无效或损坏

java - 将文件从 JSP 发送到调用接口(interface)方法的 Controller - 如何从该请求上传文件?

javascript - 使用 Javascript/AJAX 进行高效的 block 上传?

php - 将二进制数转换为 Base 64