gpt4 book ai didi

dart - Flutter 将图像文件和字符串字段作为 json 字符串发布到 nodejs API

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

希望能找到一个例子,使用Flutter将表单发送到Node.js,并传递一个JSON字符串和一个图像文件。

我一直在尝试http.MultipartRequest,但是节点服务没有获取文件或字段中的任何内容。

不确定我做错了什么,所以任何指导都很好。

var _url = Uri.parse('http://$baseurl/chat/messages/send');

var request = new http.MultipartRequest('POST', _url);
request.fields['json'] = json;
request.files.add(new http.MultipartFile.fromString(widget.mychat.msgkey, myimagefile.path));

我是否缺少更简单的方法?尝试对图像进行 BASE64 编码并在 JSON 中添加为字符串,但即使在我更改了 nginx 允许的客户端请求量之后,服务器仍然崩溃。我需要它来处理从手机发送的图像或视频。

最佳答案

我遇到了完全相同的问题。问题不在于 MultipartRequest,而在于 nodejs 服务器。您在 nodejs API 中使用的 body-parser 模块无法处理 multipart/form-data ,它只能处理 x-www-form-urlencoded

解决方案是:您必须在 nodejs API 中使用像 multer 这样的模块

const multer  = require('multer')
let upload = multer({ storage: multer.memoryStorage() });

router.route('/signup').post(upload.single('avatar'),function (req, res) {
console.log('signup page');
console.log(req.file);
console.log(req.body);
//res.status(200).json({"success": "Signup page"});
res.end('hello world');
});

在这里找到了一个很好的解决方案 http://derpturkey.com/node-multipart-form-data-explained/

关于dart - Flutter 将图像文件和字符串字段作为 json 字符串发布到 nodejs API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47394583/

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