【问题标题】:Flutter form data post issueFlutter 表单数据发布问题
【发布时间】:2021-08-16 11:44:12
【问题描述】:

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

【问题讨论】:

  • 通过使用Post 方法,并在标头中指定它是form 编码请求。
  • 你的意思是 x-www_form-urlencoded 吗?
  • 是的,就是这样。

标签: android flutter dart post form-data


【解决方案1】:

这个链接可以帮助你

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

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 2020-08-05
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多