This is what your looking for https://alex-d.github.io/Trumbowyg/ with this plugin https://alex-d.github.io/Trumbowyg/demos/#plugins-upload
Then you would set the upload endpoint in Laravel so it could be S3/DO whatever you want from there at the server endpoint.
If you want just an uploader.. Uppy is great and supports multiple providers which looks awesome https://uppy.io/ - I plan on seeing if I can integrate Uppy with Trumbowyg in the future.