gpt4 book ai didi

rest - 使用 Flutter 将图像发布到 Web 服务

转载 作者:IT王子 更新时间:2023-10-29 07:00:58 25 4
gpt4 key购买 nike

我目前正在使用 Flutter 和 Dart 尝试将图像发送到 Web 服务,然后等待 JSON 响应。以下链接显示了我试图模仿的 Postman 请求。

An image of Postman with the headers required

An image of Postman with the body

我认为我遇到的问题是没有正确设置请求的 header ,或者没有正确编码图像。

目前我收到 HTTP 400 错误。

我试过关注 these suggested solutions on StackOverflow但一直收到 HTTP 400 错误。

如有任何帮助,我们将不胜感激!

最佳答案

试试这个。如果您还没有的话,我建议您自己创建一个普通的 Dart 项目。这样您就可以在不需要手机模拟器等的情况下进行测试。

main() async {
http.MultipartRequest request =
new http.MultipartRequest('POST', Uri.parse(url));

request.headers['Prediction-Key'] = '3f4a......'; // todo - insert real value

request.files.add(
new http.MultipartFile.fromBytes(
'image',
bytes,
filename: 'somefile', // optional
contentType: new MediaType('image', 'jpeg'),
),
);

http.StreamedResponse r = await request.send();
print(r.statusCode);
}

如果文件在磁盘上,而不是在内存中,则使用 fromPath 命名构造函数代替。尝试不同的媒体类型。我用过 image/jpeg,但你可以试试 application/octet-stream

顺便说一句,在您的第一个屏幕截图中,您显示了一种内容类型,但 Postman 忽略了这一点,因为整体内容类型已被多部分形式覆盖。在 Postman 中取消选中该行以证明这一点。

最近有另一个关于 SO 的问题,服务器错误地期望 header 区分大小写。在 postman 中,再次尝试使用小写的 prediction-key 来证明服务器不介意小写的 header (这是 Dart 使用的)。

关于rest - 使用 Flutter 将图像发布到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50499247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com