Exception caught by image resource service ═ HTTP request failed, statusCode: 403,

Viewed 196

I picked an image from my gallery, then use this image as in my http body parameter , I believe it sending the image in string format thats why its showing this error.How can I display this image in my App ?

I tried to implement with Multipart but didn't came up with any solution, so I stick to this base64 format

  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); 
   print(fileContentBase64.substring(0, 100)); 
   
});

}

Then in my API function use this image with other parameters

  Future<void> SaveCustomTestBooking() async {
var jsonResponse;
if (EncUserId.isNotEmpty) {
  var response = await http.post(
      Uri.parse(
          "http://medbo.digitalicon.in/json/SaveCustomTestBooking"),
      body: ({
        'VisitDate': _selectedDate,
        'EncUserId': EncUserId,
        'UserFile':  fileContentBase64 , // here
        'Description': testTextController.text
      }));
  if (response.statusCode == 200) {
    print("Correct");
    print(response.body);
    jsonResponse = json.decode(response.body.toString());
    print(jsonResponse);
    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");
  }
}

}

0 Answers
Related