Home > Blockchain >  Dio Error : Http Status Error Code [ 405 ] Flutter
Dio Error : Http Status Error Code [ 405 ] Flutter

Time:05-17

I am getting HTTP status error code 405 on sending post requests from the real devices but it's working inside the postman.

The URL is: enter image description here

enter image description here

enter image description here

enter image description here

CodePudding user response:

https://stackoverflow.com/a/64235806/11623001

Check this out I had a similar issue too before, and I also noticed that you are not adding your authorization token to your header which may explain why you are getting 405 which would mean you can't have access.

I tried to recreate your issue on my end but the authorization token is expired, I'm getting a 401, but here is the code:

    void postSome() async {
        String base64 = 
      
//This base64 is shortened     "data:image/png;base64,... WZm/et53efvWO6Tuc6rH7kUXy1lxs /61t7dMg6VAvURAAAAQHMQogDAbE6dlLXtft/F3cuvkJNbetbn7VWrpUUX mvEtqdHvgAAAABoOf8P3x1uDPELl4UAAAAASUVORK5CYII=";
        FormData formData = FormData.fromMap({
          'user_id': 139,
          'is_collection': "1" == '8' ? 1 : 0,
          'job_id': "248",
          'job_no': "60036JL#1",
          'sender_name': "test",
          'reciever_name': "test",
          'sender_phone': "1234567890",
          'reciever_phone': "1234567890",
          'sender_address': "test",
          'reciever_address': "test",
          'sender_signature_data':
             base64,
          'receiver_signature_data': base64,
          'location': "32, Gopal Nagar, Om Nagar, Gopal Nagar Society, Parvat Patiya, Surat, Gujarat 395010, India\n",
          'images[]': "/D:/App/Logicwind/GitLAb/whiteboard-digitization/test_images/w11.jpg",
          'maked[]': "test",
          'model[]': "test",
          'rego[]': "test",
          'speedo[]': "123",
          'is_drivable[]': "1",
          'goods_inside[]': "1",
          'external_condition[]': "3",
          'interior_condition[]': "3",
          'survey_image[]': base64,
          'comments[]': "test"
        });
    
        final response = await Dio().request(
          'https://amapp.adtestbed.com/api/post-survey',
          data: formData,
          options: Options(
            headers: {
              'Accept': "application/json",
              'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzIiwianRpIjoiNTlkNzNlZjE4YzcxNGJjMWM1ZjE0ZGQxOWE1OWZmNmQ1YjVhNDViNDIwNzlkODY4ZmJkOGRmNjJlOGM4MDQzNmVjYmIxZjc4MjM5MmZiOGIiLCJpYXQiOjE2MjgxNzY5NTAsIm5iZiI6MTYyODE3Njk1MCwiZXhwIjoxNjU5NzEyOTUwLCJzdWIiOiI0NiIsInNjb3BlcyI6W119.lfnzUvq_LwYtBUQ-t6S_mKXEoM6er6ZzCuTUoHnqz9wwrdLOcu6x9CEixqMRvI-RWtSoiMO5KCYZsgagayGW5slYk6zAAa0V5fCjkRipqqus6mXe6nowtcXs_2V9ucjVoH4Evkb9lFBlE1rlpxKgcGXTcx4UgQs8kjJ5Wm4A8omedza_hUQPN9KUAfhhBDeL9hq-DkC7QbLu_YxnG5g-AETKhbJu8T4HWKqkh9NKGbNlvs1oi_nD81F1w8uSteY-UOgDJyUoGJxzoD6xmEv3J4mkrdr1ZbG88EzTyk3zngwBp9eWcLHhMS2psxArOnOnWusweJJ5uZiWiu2VIL7fWmV5b6G4OCvvkba5eXmw8iAvACACuCGQtOcGdN_euUgyfM9z9a8QbK8M2I-ux4GGY0ejCamFEJZCTwyBCxmLIrP4XjQoeL71WT1YBOgSZwDjA6qrAfL_fLwbEYQYbLIF8fLUmDOWRKBIaJLSVNG2x0Gl5LLXTiTZAzRRtJlSxZ4-Vid4hQJX39lohp-47XPAxvHnNTxiLw_aAG3SruFZ_rtdX4xnNbV3hSI825CD5dBeQC5iE-hiLXDWDXelM_q2fSD1rez62XQZGp1KfvlwowxAWgIghTfSH_E52h6mdoHEo9q73UJNYDz_F9Sj8EOfY3VWtmN6HMmcs4HZht36qX4',
            },
            method: 'POST',
          ),
        );
        print(response.statusCode);
      }

CodePudding user response:

It looks like below two fields are files not a form data.

'sender_signature_data': "data:image/jpeg;base64,"   base64Imagesendersign
'receiver_signature_data': "data:image/jpeg;base64,"   base64Imagerecieversign

You should add those as file fields like this


"sender_signature_data": await MultipartFile.fromFile(sender_signature_path,
      filename: fileName, contentType: MediaType(mimee, type))
  }),
"receiver_signature_data":await MultipartFile.fromFile(reciever_signature_path,
      filename: fileName, contentType: MediaType(mimee, type))
  })

  • Related