首页 > 解决方案 > Flutter 表单数据发布问题

问题描述

我想将数据作为 FormData 发送到服务器,但在 Flutter 中找不到任何方法。毫无疑问,flutter 支持表单数据类型但如何实现。谢谢

标签: androidflutterdartpostform-data

解决方案


这个链接可以帮助你

https://pub.dev/documentation/http/latest/http/MultipartRequest-class.html

或者,在我的一个项目中,我使用了以下代码

var request = new http.MultipartRequest("POST", Uri.parse('http://...'));

Map<String, String> headers = {"Authorization": 'Bearer $token'};//<-- create header
request.headers.addAll(headers); // <-- add header    


if (imageFile != null) { //<-- add file (File imageFile)
    var stream = new http.ByteStream(imageFile.openRead());
    var length = await imageFile.length();

    var multipartFile = new http.MultipartFile('FileUplod', stream, length,
        filename: basename(imageFile.path));
    request.files.add(multipartFile);
}

request.fields['title'] = 'title'; //<--add text item
request.fields['id'] = '12225';

var response = await httpFromData(request);
var responses = await http.Response.fromStream(response);

//json.decode(responses.body)  <-- for decode request body if needed

推荐阅读