Image 在flatter中通过POST API调用将图像传递给REST
我正在尝试传递一个从相机或从图库中拾取的图像,并使用POST API调用将其传递到后端。 我正在使用Flitter的image_picker插件从相机和画廊访问图像 下面是我试过的Image 在flatter中通过POST API调用将图像传递给REST,image,api,flutter,dart,Image,Api,Flutter,Dart,我正在尝试传递一个从相机或从图库中拾取的图像,并使用POST API调用将其传递到后端。 我正在使用Flitter的image_picker插件从相机和画廊访问图像 下面是我试过的 以文件格式获取图像文件(从文件路径) 将图像的大小减小为较小的值(为此使用颤振图像压缩库) 将结果转换为base64字符串值或作为表单数据,并将其设置为请求正文中的字段 我将提供我在颤振代码端为上述方法所做的尝试。请任何人都能指导我,我做得对吗?还是有更好的方法来实现这一点 从相机中拾取图像 使用POST方法上传*
String base64Image;
if(_imageURI != null) {
List<int> imageBytes = _imageURI.readAsBytesSync();
base64Image = base64.encode(imageBytes);
//
var data = {
'user_email': userEmail,
'user_token': userToken,
'pet': {
"age": petAgeController.text,
"birth_date": bdate,
'eatbone': ,
'ideal_weight': petIdealWeightController.text,
'image': base64Image,
'name': petNameController.text,
"sex": _petSex,
'weight': petWeightController.text,
'guideline_id': '1',
'activity_level_id': '2',
'breed_id': '12',
'user_id': userID,
}
};
// final PET.PetCreate
final pet = await CallApi().createThePet(data, 'pets/create')
}
字符串base64Image;
如果(_imageURI!=null){
List imageBytes=_imageURI.readAsBytesSync();
base64Image=base64.encode(imageBytes);
//
风险值数据={
“用户电子邮件”:用户电子邮件,
“用户令牌”:用户令牌,
“宠物”:{
“年龄”:petAgeController.text,
“出生日期”:b日期,
“eatbone”:,
“理想重量”:PetidelWeightController.text,
“图像”:base64Image,
“名称”:petNameController.text,
“性”:,
“权重”:petWeightController.text,
“指南id”:“1”,
“活动级别id”:“2”,
‘品种识别号’:‘12’,
“用户id”:用户id,
}
};
//最终宠物。宠物创建
final pet=wait CallApi().createThePet(数据“pets/create”)
}
所以。。。你有什么问题?我的问题是我在这里干什么?还有更好的方法吗?我正在尝试在Flitter中上传这张图片来学习。我真的很想知道。从相机或图库中拾取图像,缩小其原始大小,然后使用api上载。我对这种文件格式和base64字符串转换感到困惑。我应该两者都做吗?或者不,如何?
String base64Image;
if(_imageURI != null) {
List<int> imageBytes = _imageURI.readAsBytesSync();
base64Image = base64.encode(imageBytes);
//
var data = {
'user_email': userEmail,
'user_token': userToken,
'pet': {
"age": petAgeController.text,
"birth_date": bdate,
'eatbone': ,
'ideal_weight': petIdealWeightController.text,
'image': base64Image,
'name': petNameController.text,
"sex": _petSex,
'weight': petWeightController.text,
'guideline_id': '1',
'activity_level_id': '2',
'breed_id': '12',
'user_id': userID,
}
};
// final PET.PetCreate
final pet = await CallApi().createThePet(data, 'pets/create')
}