Database 我无法将图像上传到Flatter中的restApi
这是一个向restful api发送数据的函数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
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