json - 使用 Multipart 请求作为 Http 正文参数获得成功的 API 响应后,如何导航到下一个 Material 页面?
问题描述
我相信response.statusCode == 200
我的 Api 因为它的打印Uploaded!
我怎样才能将我的 API 响应存储在一个变量(Lets say "jsonResponse")
中,以便我可以将它传递给我的新 MaterialPage DieticianAfterDateSelectPage
?
错误:
The method '[]' was called on null.
Receiver: null
Tried calling: []("Status")
The relevant error-causing widget was
MaterialApp
lib\main.dart:19
//
Future<void> SaveCustomTestBooking() async {
var jsonResponse;
if (EncUserId.isNotEmpty) {
var postUri = Uri.parse("http://mkklklklklktBooking");
var request = http.MultipartRequest('POST',postUri);
request.fields['VisitDate'] = '_selectedDate';
request.fields['EncUserId'] = 'EncUserId';
request.files.add(new http.MultipartFile.fromBytes(
"UserFile", File(image!.path).readAsBytesSync(),
filename:"Image.jpg",
contentType: MediaType('image', 'jpg')));
request.send().then((response){
if (response.statusCode == 200) {
print("Uploaded!"); //From here.............
Navigator.push(context, MaterialPageRoute(builder: (context) => DieticianAfterDateSelectPage(rresponse:DieticianEncBookingIdModel.fromJson(jsonResponse),)));
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text("Somthing went wrong")));
throw Exception("Faild to fetch");
}
}
);}
我的变量image
在方法调用后包含我的画廊图像。
final ImagePicker _picker = ImagePicker();
File? image;
var fileContent;
var fileContentBase64;
从图库中获取图像的功能
void filePicker() async {
final File? selectedImage =
await ImagePicker.pickImage(source: ImageSource.gallery);
print(selectedImage!.path);
setState(() {
image = selectedImage;
fileContent = image!.readAsBytesSync();
fileContentBase64 = base64.encode(fileContent);
});
}
解决方案
目前还不清楚如何提供帮助。我可以看到您正在将值传递给DieticianAfterDateSelectPage
,以及您的错误消息。但是您问的是如何将值存储在变量中!
您可能需要了解错误消息。您得到它是因为您[]
在 null 上调用运算符。您需要检查这是如何发生的,并检查 main.dart 中的第 19 行,如错误消息中所示。
推荐阅读
- reactjs - 在 reactjs 模式关闭按钮不起作用
- google-chrome - 使用 chrome 存储事件侦听器更改 chrome 扩展 html
- flutter - TextField 标签边框位置
- c# - 将数组限制为特定类型 - 自定义纹理类 C#?
- elasticsearch - 查找与我在同一公司的人的简单方法?
- travis-ci - travis 为草稿版本部署提供者
- python-3.x - 不知道我在这里做错了什么(python3)
- haskell - 如何堵住这种类型的孔 3
- python - 机器人框架:For循环不包含关键字
- java - java - 如何使用JavaFX中的字符串从具有对象作为值的组合框中选择数据?