Database 我无法将图像上传到Flatter中的restApi

Database 我无法将图像上传到Flatter中的restApi,database,laravel,api,flutter,dart,Database,Laravel,Api,Flutter,Dart,这是一个向restful api发送数据的函数 addProduct( String name, String description, String salary, String available, String categoryId, String timeToPreparation, String calories, File photo) async { final pref = await SharedPreferences.getInstan

这是一个向restful api发送数据的函数

    addProduct(
  String name,
  String description,
  String salary,
  String available,
  String categoryId,
  String timeToPreparation,
  String calories,
  File photo) async {
final pref = await SharedPreferences.getInstance();
final key = 'token';
final value = pref.get(key) ?? 0;
String url = "Url";
final response = await http.post(Uri.parse(url),
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json',
      'Authorization': 'Bearer $value',
    },
    body: jsonEncode({
      'name': '$name',
      'description': '$description',
      'salary': '$salary',
      'available': '$available',
      'category_id': '$categoryId',
      'time_to_Preparation': '$timeToPreparation',
      'calories': '$calories',
      'photo': '$photo'
    }));
status = response.body.contains('errors');
var data = json.decode(response.body);
if (status) {
  print("errors : ${data['errors']}");
  print("message : ${data['message']}");
} else {

  print("name : ${data['name']}");

}
}

这里尝试上载带有图像的数据

onPressed: () async {
        if (_globalKey.currentState.validate()) {
          _globalKey.currentState.save();
          try {
            if (productCategory == null) {
              ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                content: Text('select the category'),
              ));
            }
            if (productPrepare == null) {
              ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                content: Text('enter prepartion time'),
              ));
            } else {
              String base64Image = base64Encode(_image.readAsBytesSync());
              await api.addProduct(
                  productName.text,
                  productDescription.text,
                  productSalary.text,
                  '1',
                  productCategory,
                  productPrepare,
                  productCal.text,
                  File(base64Image));
                Navigator.of(context).pushNamed(MyProduct.id);
            }
          }on PlatformException catch (e) {
            print("message: ${e.message}");
            print("code : ${e.code}");
            print("details : ${e.details}");
           print("stacktrace: ${e.stacktrace}");
          }
        }

        if (_image == null)
          return ScaffoldMessenger.of(context)
              .showSnackBar(SnackBar(content: Text('please select the image')));
      },
然后我得到了这个爱洛

E/flatter(27327):[错误:flatter/lib/ui/ui\u dart\u state.cc(186)]未处理的异常:FormatException:意外字符(在字符1处) E/颤振(27327): E/颤振(27327):^ E/颤振(27327): E/flatter(27327):#0 ChunkedJsonParser.fail(dart:convert patch/convert_patch.dart:1404:5) E/flatter(27327):#1#ChunkedJsonParser.parseNumber(dart:convert patch/convertpatch.dart:1271:9) E/flatter(27327):#2_ChunkedJsonParser.parse(dart:convert patch/convert_patch.dart:936:22) E/flatter(27327):#3(省道:转换补丁/转换补丁。省道:40:10) E/flatter(27327):#4 JsonDecoder.convert(dart:convert/json.dart:506:36) E/flatter(27327):#5jsoncodec.decode(dart:convert/json.dart:157:41) E/flatter(27327):#6 Api.addProduct(包装:手工制作#badah/database/Api.dart:167:21) E/颤振(27327): E/flatter(27327):#7#AddProductState.build