У меня проблема с приложением флаттера, я пытаюсь отправить формданные из флаттера в люмен, но это неразборчиво. Я пробовал в течение 2 дней, но все еще не работает, это мой код флаттера
var prefs = await SharedPreferences.getInstance();
var request = new http.MultipartRequest('POST', Uri.parse(api('user/change-photo/4')));
var stream = new http.ByteStream(DelegatingStream.typed(imageFile.openRead()));
var length = await imageFile.length();
var multipartFile = new http.MultipartFile("file", stream, length, filename: basename(imageFile.path), contentType: MediaType.parse('image/jpeg'));
request.files.add(multipartFile);
request.headers.addAll({
HttpHeaders.authorizationHeader: prefs.getString('token'), "Accept": "application/json",
});
request.fields['name'] = 'helooooow!';
var response = await request.send();
response.stream.transform(utf8.decoder).listen((value) {
print(value);
});
, и это мой код люмена
public function changePhoto(Request $request, $id){
return response()->json([
'message' => 'Lorem ipsum',
'file' => $request->hasFile('file'),
'name' => $request->name,
'id' => $id,
'req_number' => count($request->all())
], 201);
}
и результат, когда я нажимаю кнопку из флаттера приложение -
{"message":"Lorem ipsum","file":false,"name":null,"id":"4","req_number":0}
, но, когда я пробую его на почтальоне, проблем нет, он работает правильно. что не так в моем коде? пожалуйста, помогите мне. большое спасибо