<script>
UPLOADCARE_PUBLIC_KEY = "demopublickey";
</script>
<script charset="utf-8" src="//ucarecdn.com/libs/widget/3.x/uploadcare.full.min.js"></script>
<p>
<h2>Upload image from clipboard</h2>
<ul>
<li>Take a screenshot</li>
<li>Open the widget</li>
<li>Press <code>CMD+V</code> (Mac) or <code>CTRL+V</code> (Windows)</li>
</ul>
</p>
<p>
<input type="hidden" role="uploadcare-uploader" data-tabs="file" data-crop="1:1" data-images-only >
</p>
body {
font-family: sans-serif;
line-height: 1.5;
}
code {
background: #badaaa;
border-radius: 5px;
padding: .2em .5em;
}
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)
})
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.