如何解决如何在formdata flutter中发送对象
我目前正在开发移动应用程序,并且在此方面停留了几天。我一直在尝试发送发布请求以创建对象“ Leave”,如下面的代码所示。请求正文是带有键“ leave”和值“ jsonObject”的formData。我尝试了很多方法,并且它与“ Content-type”有关系。如果我将其更改为“ multipart / form-data”,则响应为500,如果为“ application / json”,则始终得到415不支持的mediaType。这是我使用dio软件包的代码,任何建议都会对您有所帮助,谢谢您。Postman request works fine
Future createLeave() async {
var leave = Conge(
dateDemand: DateTime.now(),dateEnd: DateTime.now().add(Duration(days: 3)),dateStart: DateTime.now().add(Duration(days: 1)),type: "CSS",endDateDaySlot: "X",startDateDaySlot: "X",);
Map<String,String> heads = {
"X-Auth-Token": UserPreferences().token,"Content-type": 'application/json',"accept": "application/json"
};
FormData formData = FormData.fromMap({"leave": leave.toJson()});
var dio = Dio();
try {
Response response = await dio.post(API + '/leave/add',data: formData,options:
Options(headers: heads,contentType: Headers.jsonContentType));
} on Exception catch (e) {
print(e);
}
}
我也尝试使用MultiPartRequest,但是我总是得到400作为响应,客户端发送的请求在语法上是不正确的,这是我的代码,谁能帮我这个忙
Future create(Conge leave) async {
String url = API + "/leave/add";
var uri = Uri.parse(url);
var request = new http.MultipartRequest("POST",uri);
Map<String,String> heads = {
"X-Auth-Token": UserPreferences().token,};
request.headers.addAll(heads);
request.fields['leave'] = json.encode(leave.toJson());
var response = await request.send();
print(response.statusCode);
response.stream.transform(utf8.decoder).listen((value) {
print(value);
});
}
解决方法
请尝试禁用Windows防火墙,如果它可以工作,请在防火墙中对其进行例外处理。
,你可以这样试试
<?php $colors = array("red","green","blue","yellow",....,"purple");
foreach($colors as $key => $value) { ?>
<div class="data">
<div class="<?php echo $value; ?>"> <?php echo $value; ?> </div>
</div>
<?php } ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。