Rails application - How to get TinyMCE to save a pasted image locally

Viewed 197

I am running into a very unique edge case with my TinyMCE user experience.

I want to be able to

  1. COPY IMAGE (Right click, copy image on any image on the internet)
  2. PASTE IMAGE (CTRL + V) into TinyMCE editor

and have it save a local copy of this image and serve that.

The problem is a user can paste an image being served in S3 bucket and it is only authenticated for a certain amount of time, then days later the image will not show.

I have looked at TinyMCE - File Image Upload documentation to no avail.

Also looked into TinyMCE Paste Plugin, TinyMCE Local Upload Demo, TinyMCE Docs - Upload Images and dated gem TinyMCE-Rails-ImageUpload

Ultimately, I have a feeling that a custom handler for Paste Preprocess will need to be used

My tinymce.yml configuration follows:

menubar: false
statusbar: false
branding: false
toolbar:
  - styleselect | bold italic underline strikethrough | indent outdent | blockquote | image | link | codesample | bullist numlist | table | code | undo redo
plugins:
  - link
  - codesample
  - image
  - lists
  - code
  - table
images_upload_url: "/tinymce_assets"
automatic_uploads: true
relative_urls: false
remove_script_host: false
convert_urls: true
table_responsive_width: true

I feel like this type of problem should be common and there should be a simple solution that I am not seeing. However, if not at all possible, would the solution be to create a custom js function that intercepts paste call, check if it is coming from external url, then decide to create a local image copy and give that url?

Thank you, and any help would be appreciated.

0 Answers
Related