如何使用http发布请求将图像转换为base64以发送图像

时间:2020-07-05 10:56:35

标签: android ios flutter dart

我正在尝试使用Requests软件包将Base64字符串发送到服务器。我正在使用Flutter image Picker包获取图片文件,这是我的代码片段:

获取图片

  File _image;
  final picker = ImagePicker();

  final picker = ImagePicker();

  Future getImage() async {
    final pickedFile = await picker.getImage(source: ImageSource.gallery);

    setState(() {
      _image = File(pickedFile.path);
    });
  }

转换并发送

    List<int> imageBytes = _image.readAsBytesSync();
    String  base64Image = base64Encode(imageBytes);

      var r = await Requests.post(
        'my_URL',
        headers: {'content-type': 'multipart/form-data'},
        body: {
          'image':'$base64Image',
        }
      );

这会向服务器发送null,是否有关于如何以正确方式进行操作的建议?

1 个答案:

答案 0 :(得分:1)

更改此行

List<int> imageBytes = _image.readAsBytesSync();

收件人

List<int> imageBytes = await _image.readAsBytesSync();

有帮助。