Проблема при загрузке файлов с использованием dio, получающего 500 в качестве кода ответа

#flutter #dart

#сбой #dart

Вопрос:

Это моя функция выбора файлов

 GestureDetector(
                          onTap: () async {
                            FilePickerResult result = await FilePicker.platform
                                .pickFiles(type: FileType.any);

                            if (result != null) {
                              File file = File(result.files.first.path);
                              print(file.path);
                              setState(() {
                              uploadFile=file;
                            });
                            }
                            
                            if (uploadFile != null) {
                              print(uploadFile.path);
                              _scaffoldKey.currentState.showSnackBar(SnackBar(
                                content: Text('File Uploaded Successfully!'),
                              ));
                            }
                          },
  

Это мой код загрузки файла

  onPressed: () async {
                            if (uploadFile != null) {
                              setState(() {
                                _loading = !_loading;
                              });
                              String fileName = uploadFile.path.split('/').last;
                              print(fileName);
                              print(uploadFile.path);
                              
                                Dio dio = new Dio();
                                var url =
                                    '$api';
                                if (uploadFile.path != null) {
                                  String token =
                                      await storage.read(key: 'auth-token');
                                      print('ok1');
                                  FormData formData = FormData.fromMap({
                                    'inputFile': await MultipartFile.fromFile(
                                      uploadFile.path,
                                      filename: fileName,
                                      contentType:
                                          new MediaType('image', 'jpg'),
                                    ),
                                    
                                  });
                                  print('ok2');
                                  Response response = await dio.patch(url,
                                      data: formData,
                                      options: Options(
                                        contentType: "application/json",
                                          headers: {'auth-token': token}));
                                  if (response.statusCode == 201) {
                                    
                                Navigator.pushReplacement(
                                    context,
                                    MaterialPageRoute(
                                        builder: (context) =>
                                            AssigmentSubmitted()));
                              }
                            }
  

Я получаю [ОШИБКА: flutter / lib / ui / ui_dart_state.cc (166)] Необработанное исключение: DioError [DioErrorType.RESPONSE]: Ошибка состояния Http [500] как ошибку всякий раз, когда я пытаюсь использовать это.

Ранее я использовал последнюю версию file picker, тогда она работала нормально, но несколько дней назад было обновление для плагина, и с тех пор он перестал работать, хотя в этом коде я обновил параметры плагина, он все еще не работает.

Комментарии:

1. Эй, @Vansh, у тебя сейчас 500 для внутренней ошибки сервера. Пожалуйста, уточните у разработчика серверной части, для какой строки кода вы получаете ошибку.

2. Или это может быть условие, которое вызывает проблему.

3. Код внутреннего API, который принимает файлы

4. да, я проверил у них, есть какая-то проблема на моей стороне

5. последнее, но не менее важное, понижение версии