flutter 如何将图像作为base64 url与其他数据(如字符串等)一起发布到API?

hgb9j2n6  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(97)

我是Flutter的新手。我不知道如何使用post方法,其中请求的主体包含多类型数据,如String和Image(我想以Base64 URL形式发布Image)。我该怎么做?
目前,这是我的代码

void submit() async {
    try {
      http.Response response = await http.post(
          Uri.parse('https://yourendpoint.com'),
          body: {
            'kategori': selectedValue.toString().toLowerCase(),
            'tanggal': dateinput.text,
            'deskripsi': fileinput.text,
            'file': ''
          },
          headers: {
            'access-token': 'access-token'
          });

      if (response.statusCode == 200) {
        Fluttertoast.showToast(msg: 'Keluhan anda akan segera kami tangani');
        Navigator.pop(context);
      } else {
        Fluttertoast.showToast(msg: 'Format yang anda masukkan salah');
        print(response.statusCode);
        print(response.body);
      }
    } catch (e) {
      print(e.toString());
    }
  }

我试着把它作为String发布,但它没有任何意义

h5qlskok

h5qlskok1#

这应该行得通。如果你有任何问题,请随时提问:)

body: {
  'kategori': selectedValue.toString().toLowerCase(),
  'tanggal': dateinput.text,
  'deskripsi': fileinput.text,
  'file': _image != null ? 'data:image/png;base64' + base64Encode(_image.readAsBytesSync()) : ''
},

相关问题