What's the best way to upload a user selected image with maximum quality?

@flyon regarding cordova plugin,

in capacitor project it’s okay to mix capacitor plugins with cordova plugins, “If you can find a Capacitor plugin that does what you want, prioritize that”.

Before I asked What is the difference between capasitor plugins & ionic native pluginss and got good answer from @rapropos.

When using pluigns capacitor/cordova it’s good to check when last commit was done, and it seems like cordova-plugin-file-transfer not actively maintained. Sometimes plugins need migrations, for example when capacitor 5 was released it required plugin developers to migrate their plugins to capacitor 5. Capcitor 5 comes with benefits though.

@flyon regarding “uploading fails”

  1. Is it crashing the app?
  2. Is your backend returning error?
  3. are you uploading image as base64, setting android:largeHeap="true" basically means hey android give my app more heap space and andoird be like “Ok I will try, but I can’t promise”?

Because the project (angular/capacitorjs) I’m currently working we upload short videos. We did testing and some iOS devices could upload 30-40MBs and Android up to 60MBs. As a result we just set MAX_UPLOAD_SIZE to 30MB on client side.