【问题标题】:how to get the base64 string of the clipboard data?如何获取剪贴板数据的base64字符串?
【发布时间】:2013-04-05 05:44:36
【问题描述】:

我正在用 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:组件返回失败代码:0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]

data.data = str.value.QueryInterface(Ci.nsISupportsCString).data; 不知道怎么在我的xpcom组件中获取图片数据的base64字符串,谁能给我答案?

【问题讨论】:

    标签: javascript xpcom


    【解决方案1】:

    显然,图像在不同平台上存储到剪贴板的方式不同。检查how Jetpack reads them

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多