Javascript 如何获取剪贴板数据的base64字符串?
我正在用JS构建一个xpcom组件。 我已经得到了JS中的剪贴板数据,当数据类型为image/png时,我想得到它的base64字符串,我的代码是:Javascript 如何获取剪贴板数据的base64字符串?,javascript,xpcom,Javascript,Xpcom,我正在用JS构建一个xpcom组件。 我已经得到了JS中的剪贴板数据,当数据类型为image/png时,我想得到它的base64字符串,我的代码是: ...... trans.addDataFlavor('image/png'); clipboard.getData(trans, Services.clipboard.kGlobalClipboard); trans.getTransferData('image/png', str,
......
trans.addDataFlavor('image/png');
clipboard.getData(trans, Services.clipboard.kGlobalClipboard);
trans.getTransferData('image/png', str, strLength);
let mw = Services.wm.getMostRecentWindow("navigator:browser");
data.data = str.value.QueryInterface(Ci.nsISupportsCString).data;
data.data = mw.btoa(data.data);
...
我可以在Linux下获取base64字符串,但当我在windows中运行代码时,出现了一个错误:
NS_NOINTERFACE:组件返回的故障代码:0x80004002 NS_NOINTERFACE[nsISupports.QueryInterface]
data.data=str.value.QueryInterfaceCi.nsistupscstring.data;
我不知道如何在我的xpcom组件中获取图像数据的base64字符串,谁能给我一个答案?显然,不同平台的图像存储到剪贴板的方式不同。检查