首页 > 解决方案 > 如何转换 Java Android 代码以转换 iOS Swift 代码中的图像文件以创建 JSON

问题描述

我有一个朋友在 Android 上使用 Java 创建的以下代码。

private void carregaFotos(Long idResenhaCurrent, Long idResenhaGedave) {
    String root = Environment.getExternalStorageDirectory().toString();
    Resources res = getResources();
    File myDir = new File(root + "/" + res.getString(R.string.app_name_files_res) + "/Imagem");
    ResenhaEqFoto foto = null;
    List<ResenhaEquideoFotos> fotosList = new ArrayList<>();
    fotosList = equideoFotosUtil.getListDados(equideoDados.getId());
    int qtde = fotosList.size();
    for (int i = 0; i < qtde; i++) {
            foto = new ResenhaEqFoto();
            String path = myDir+"/"+fotosList.get(i).getNomeArquivo().trim();
            Bitmap bm = BitmapFactory.decodeFile(path);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.JPEG, 70, baos); // bm is the bitmap object  era quality 100
            byte[] b = baos.toByteArray();

            foto.setImagem( Base64.encode(b, 0) );

// more data added to the "foto" object
...
            dadosFotoList.add( foto );

    }
  }

代码获取存储在应用程序项目文件夹中的图像,获取文件并将其转换为位图,然后将其转换为 ByteArrayOutputStream 并压缩文件。

之后将文件编码为 Base64 字符串。

这是我能理解的。

首先,究竟是什么

byte[] b

在 Swift 中,我如何使用下面的代码

Base64.encode(b, 0) 

与斯威夫特?

上面的代码生成以下 JSON,请看下面的链接:

https://jsonblob.com/a260a537-da9f-11eb-b281-0b0ddf298faa

我想要实现的部分是“imagem”部分。

一个整数(或字节)数组。

我怎样才能达到这个结果?

标签: javaandroidiosswift

解决方案


推荐阅读