我看到了其他的问题,但那不是我想要的,我不想上传图像到服务器,我不想转换为base64...
我只想在一个表单数据或其他东西中发布一个文件,并获得返回的信息。
我有这个,但没有工作:
void onTakePictureButtonPressed() {
takePicture().then((String filePath) {
if (mounted) {
setState(() {
imagePath = filePath;
videoController?.dispose();
videoController = null;
});
http.post('http://ip:8082/composer/predict', headers: {
"Content-type": "multipart/form-data",
}, body: {
"image": filePath,
}).then((response) {
print("Response status: ${response.statusCode}");
print("Response body: ${response.body}");
});
if (filePath != null) showInSnackBar('Picture saved to $filePath');
}
});
}
3条答案
按热度按时间yjghlzjz1#
最简单的方法是像this post那样发布一个多部分请求,然后将其发布到服务器。
请确保在文件开头导入以下内容:
将此类添加到代码中的某个位置:
然后使用以下方式上传:
在您的代码中:
v9tzhpje2#
aiazj4mn3#
如果你正在发送图像到PHP Laravel服务器。尝试减少
size of the image
,同时发送到服务器。我用Image Picker包来减少图像的大小。然后创建一个包含该图像的多部分文件,将其添加到表单数据中,并使用带有
dio
库的post请求将表单数据发送到服务器。对我很有效。