当前位置: 首页 > 知识库问答 >
问题:

如何确定复制粘贴图像剪贴板的MIME类型?

焦宏硕
2023-03-14

我可以假设Mac OS X剪贴板图像数据是png吗?

当我尝试MIME检测剪贴板数据时,它返回application/octet

这会导致每个浏览器下载图像而不是显示图像。

如果我强制将内容类型设置为image/png,一切看起来都很好,但我想知道是否有一种方法可以让我不必做出这样的假设?

$log.debug(e.originalEvent.clipboardData);
for (var i = 0; i < e.originalEvent.clipboardData.items.length; i++) {
var item = e.originalEvent.clipboardData.items[i];
$log.info("Item type: " ,item);
if (item.type.indexOf("image") != -1) {
    $scope.token.images = [];
    $log.debug(item.getAsFile(), {});
...

我用https://github.com/broofa/node-mime检测MIME类型。

共有1个答案

全昊焜
2023-03-14

至少在理论上,不,你不能这样假设。

苹果是这样说的:“要获得剪贴板上当前可用的类型列表,您可以使用剪贴板数据对象的类型属性。此属性包含可用数据的MIME类型的字符串数组。"Webkit DOM编程主题

至少根据w3c,选项包括:

  • 图片/png
  • 图片/jpg
  • 图片/jpeg
  • 图片/gif
  • 图片/svg xml

编辑:

MIME检测返回Application/octet的原因是,当您使用的库不知道类型时,它会返回到该类型,正如您在test.js文件的这一行中看到的:

assert.equal('fallback', mime.charsets.lookup('application/octet-stream', 'fallback'));

这个答案更详细地解释了如何处理这个“任意二进制数据”

 类似资料:
  • 我想从URL中复制image/gif而不下载它,例如,我想将此gif复制到剪贴板https://media.gify.com/media/l49jl8rj2voexlmm0/giphy.gif并将此gif粘贴到此站点https://paste.pics/ 我试了所有的办法,但都没用。 代码试用:复制到剪贴板: 粘贴1 粘贴2 所以我不知道该怎么做,请协助

  • 在Linux上不接触鼠标,在命令模式下的VIM和系统剪贴板之间复制粘贴的最快方法是什么?

  • 使用“复制链接”按钮复制链接 导航到其他输入/文本字段 用Ctrl+V粘贴到字段中,并读取该字段的内容以验证 我的测试: 但是,没有任何内容粘贴到该输入(和return)。 谢了!

  • 问题是,从vim到剪贴板的复制/粘贴停止工作。我不知道为什么。。。 在中,我也没有看到和缓冲区... 这是我的。vimrc,如果需要的话。 有什么建议吗? 谢谢

  • 问题内容: 我正在寻找一个如何将文本复制到iOS剪贴板的干净示例,然后可以在其他应用程序中使用/粘贴该文本。 此功能的优点是可以快速复制文本,而无需传统文本复制的标准文本突出显示功能。 我假设键类在其中,但是在它们提供的代码示例中找不到相关的区域。 问题答案: 如果您只需要纯文本,则可以使用属性。它既可读又可写: (从剪贴板中 读取数据时 ,UIPasteboard文档还建议您首先检查一下,“以避

  • 问题内容: 当我尝试使用粘贴到单元格时,我要粘贴的单元格保持空白,但setValueAt()似乎可以正常工作。另外,当我尝试从一个单元格剪切或复制JPopupMenu时,如果要粘贴到另一个单元格,则我的“粘贴”选项将保持禁用状态。我不知道为什么。我的代码如下。 Here’s my code for 问题答案: 根据您的示例代码,并且必须填写空白,它对 我有用… Now, maybe you’d l