uploadcare-widget icon indicating copy to clipboard operation
uploadcare-widget copied to clipboard

Paste image from the clipboard

Open rsedykh opened this issue 4 years ago • 1 comments

Summary

I want to open the uploader and just paste an image from the clipboard.

Basic example

They all are the same, take twitter.com for example.

Motivation

Saves time and adds convenience.

rsedykh avatar Mar 17 '20 06:03 rsedykh

@rsedykh I solved it this way

const widget = uploadcare.Widget("[role=uploadcare-uploader]");

widget.onDialogOpen((dialog) => {
  function uploadFromClipboard(e) {
    let data = e.clipboardData;
    if (!!data && !!data.items.length) {
      // check if clipboard data is image
      if (data.items[0].type.indexOf("image") != 0) {
        alert("No image in the clipboard");
        return;
      }
      let blob = e.clipboardData.items[0].getAsFile();
      dialog.addFiles("object", [blob]);
    }
  }
  window.addEventListener("paste", uploadFromClipboard);
});

https://codepen.io/optlsnd/pen/KKMOOVb

optlsnd avatar Nov 24 '20 11:11 optlsnd