我正在用 JS 构建一个 xpcom 组件。我在JS中得到了剪贴板数据,当数据类型是image/png时,我想得到它的base64字符串,我的代码是:
......
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: Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]
data.data = str.value.QueryInterface(Ci.nsISupportsCString).data; 我不知道如何在我的 xpcom 组件中获取图像数据的 base64 字符串,谁能给我答案?