我正在尝试将剪贴板中的图像粘贴到我的网站(如复制和粘贴)。感谢是否有人可以就此提出建议。我可以使用 HTML 5 或小程序或任何方式来实现这一点。非常感谢任何建议或任何参考链接。
问问题
1201 次
3 回答
2
设法用 JavaScript 做到这一点。
JavaScript
if (!window.Clipboard) {
var pasteCatcher = document.createElement("apDiv1");
pasteCatcher.setAttribute("contenteditable", "");
pasteCatcher.style.opacity = 0;
document.body.appendChild(pasteCatcher);
pasteCatcher.focus();
document.addEventListener("click", function() { pasteCatcher.focus(); });
}
window.addEventListener("paste", onPasteHandler);
function onPasteHandler(e)
{
if(e.clipboardData) {
var items = e.clipboardData.items;
if(!items){
alert("Image Not found");
}
for (var i = 0; i < items.length; ++i) {
if (items[i].kind === 'file' && items[i].type === 'image/png') {
var blob = items[i].getAsFile(),
source = window.webkitURL.createObjectURL(blob);
pastedImage = new Image();
pastedImage.src = source;
pasteData();
}
}
}
}
function pasteData()
{
drawCanvas = document.getElementById('drawCanvas1');
ctx = drawCanvas.getContext( '2d' );
ctx.clearRect(0, 0, 640,480);
ctx.drawImage(pastedImage, 0, 0);
}
分区
<div id="apDiv1" contenteditable='true'>Paste Test</div>
于 2013-07-17T06:14:49.637 回答
0
即使小程序没有签名,JNLP API 也是可用的。
ClipboardService cs = (ClipboardService)ServiceManager.lookup("javax.jnlp.ClipboardService");
Image c = (Image)cs.getContents().getTransferData(DataFlavor.imageFlavor);
于 2013-07-11T10:20:56.210 回答
0
首先,制作一个文件(图像)服务器。
然后使用js监听粘贴事件。代码关键词:
addEventListener 'paste' clipboard image
然后使用ajax上传到文件服务器。ajax 对应的 url。
最后通过 url 制作 img 标签。
小程序已过时...忽略。
于 2016-11-16T04:02:55.207 回答