如何使用JSON在flutter中通过帖子发送图像?

时间:2017-10-31 03:27:22

标签: dart flutter

我正在构建一个flutter应用程序,它利用image picker从图库中捕获或选择图像,但我很难从客户端将该图像发布到我的服务器。

根据我收集的内容,我可以通过将图像文件转换为字节然后将其作为BASE64发送,通过JSON发送本地图像。

import 'dart:convert';
import 'package:crypto/crypto.dart';

Future<Map> _avatarSubmit() async {
    String url = api + '/api/account';
    http.Response response = await http.post(Uri.encodeFull(url), headers: {
      "Accept": "application/json",
      "Cookie": "MYCOOKIE=" + sessionCookie2 + "; MYTOKENS=" + sessionCookie3,
      "Content-type": "multipart/form-data",
    }, body: {
      "image": "",
    });
    Map content = JSON.decode(response.body);
    return content;
  }

我的问题是如何将设备中的图像文件转换为字节,然后我可以使用crypto插件将其转换为BASE64?

提前谢谢。

1 个答案:

答案 0 :(得分:5)

由于image picker插件提供了图像的filePath,您可以使用dart:io中的File类从dart加载图像和BASE64:convert将其转换为BASE64字符串。

以下是如何做到这一点:

pos

希望这有帮助!