esp32 receiving image over BLE

Hello, I want esp32 to receive image from android or iOS phone. I was hoping to use BLE instead of Bluetooth classic, and using UART service for this. Kindly suggest if this is a good approach and give some suggestions based on your experience. I appreciate your response. Regards,

Hello, I would like to add that I have tried to use ble uart service to receive data from phone. I receive normal data but when I use bluefruit connect application from adafruit to send image over BLE, I donot receive anything. It has the following callback for receiving. I just wanted to see if I get some data but I did not get any.

class MyCallbacks: public BLECharacteristicCallbacks {
    void onWrite(BLECharacteristic *pCharacteristic) {
      std::string rxValue = pCharacteristic->getValue();

      if (rxValue.length() > 0) {
        Serial.println("*********");
        Serial.print("Received Value: ");
        for (int i = 0; i < rxValue.length(); i++)
          Serial.print(rxValue[i]);

        Serial.println();
        Serial.println("*********");
      }
    }
};