json - 如何从 MultipartRequest 中获取 Content-Length - Flutter
问题描述
我正在尝试将数据发布到服务器,并且我成功地从服务器获得了真实的响应,但是我发布的项目没有反映在服务器中。但是,当我对邮递员执行相同的请求时,它会被发布并反映在服务器中。因此,在检查其中一些内容时,我认为 Content-Type、Content-Length 和 Host 是邮递员请求方面的强制性要求,但我刚刚在我的代码中实现了 Content-Type。所以尝试一下,我想如果我添加 Content-Length 和 Host 可能它可能会反映在服务器中,但如何获取该数据?
下面是我的代码
var uri = Uri.parse(Constant.postAdUrl);
Map<String, String> headers = {
'Content-Type': 'multipart/form-data',
"Accept": "application/json",
'Content-Length' : ''
};
http.MultipartRequest request = new http.MultipartRequest('POST', uri);
request.headers.addAll(headers);
List<http.MultipartFile> newList = new List<http.MultipartFile>();
for (int i = 0; i < images.length; i++) {
var path =
await FlutterAbsolutePath.getAbsolutePath(images[i].identifier);
File imageFile = File(path);
var streams = new http.ByteStream(imageFile.openRead());
var lengths = await imageFile.length();
request.files.add(await new http.MultipartFile(
'files[]', streams, lengths,
filename: _image.path));
}
if (_image != null) {
request.files.add(await new http.MultipartFile('adcover', stream, length,
filename: _image.path));
}
request.files.addAll(newList);
request.fields['ads_userfkid'] = userId;
request.fields['ads_name'] = widget.title;
request.fields['ads_description'] = widget.description;
request.fields['ads_price'] = widget.price;
request.fields['ads_subcatfkid'] = widget.subId;
request.fields['ads_location'] = widget.location;
var response = await request.send();
if (response.statusCode == 200) {
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context) => DashboardScreen()));
} else {
print("Upload Failed");
}
}
解决方案
推荐阅读
- html - col-sm-12 在智能手机上没有 100% 的宽度 - 我做错了什么?
- c - 如何在 Fedora 中编译 -static ncursesw
- reactjs - 将 React 包含为 webpack 外部结果会导致找不到模块“react”
- javascript - 车轮事件 PreventDefault 不取消车轮事件
- python - Visual Studio Code - Code Runner:'python' 不是内部或外部命令、可运行程序或批处理文件
- apache-spark - 明确火花数据框中的分区数
- javascript - 如何使用javascript将占位符颜色更改为透明
- r - 如何使用 Tidyverse 对几列进行分组并计算百分比并创建新的 df?
- python - 尝试运行 pyinstaller 创建的 .exe 文件时“执行脚本失败”
- css - 完整的单词应该在同一行呈现