【发布时间】:2020-04-16 09:33:15
【问题描述】:
我正在尝试使用剪贴板 API 将图像和 json 对象写入窗口剪贴板。 (我正在使用 vue 和电子) 我成功编写了图像和纯文本,但是当我尝试编写 json 对象时它返回错误:
Uncaught (in promise) DOMException localhost/:1
我的代码是(this.object 是一个 JSON 对象)
const textBlob = new Blob(['this.object.data','this.object.data2',...], {type: 'text/plain'});
const objBlob = new Blob([JSON.stringify(this.object)], {type: 'application/json'});
// defined a canvas with an image
canvas.toBlob(function(blob) {
const item = new ClipboardItem({
'image/png': blob,
'text/plain': textBlob,
'application/json': objBlob
});
navigator.permissions.query({name: 'clipboard-write'}).then((result) => {
if (result.state === 'granted' || result.state === 'prompt') {
navigator.clipboard.write([item]);
}
}
}, 'image/png');
在这种情况下,
它向我显示了错误,但如果我在项目中删除 'application/json': objBlob 则它可以工作。看起来剪贴板不接受 json 对象。很奇怪。
但是,我想将一个对象与图像一起写入剪贴板。 有什么办法可以解决这个问题吗?也许我应该使用剪贴板 API 以外的其他东西?
提前谢谢你!
【问题讨论】:
标签: javascript json vue.js electron clipboard