- Edge was not sending the resized image
- Safari on iPad and iPhone was sending rotated images
- Firefox was not sending the image at all
Every point of the above list was caused by something very annoying in the front-end development word. Sort of half-compliance to standard API.
- IE/Edge form object (useful FormData() ) doesn’t support delete method, so you can copy all the elements of an existing form but you cannot remove them
- Safari saves camera rotated images (it is an exif property) but you cannot see this until you don’t send the image to the server
- Firefox skip preventdefault event in random case (?!?)
So, the File Management Browser implementation is “almost” safe, “almost” sound but needs a bit of customization for each vendor.
PS as the original idea was related to uploading selfie like or avatar photo I’m saving on server side all the images in JPG format, as there is no camera mobile or not that save in PNG format… I want to highlight this as all the example I found manage only Canvas -> Png export/save (even the Load Image Test page saves the output to Png renamed to Jpeg)
Other sources and credits