xclip 图像二进制内容粘贴到文本字段中

Ali*_*yhl 8 clipboard xclip

假设我选择了一些 png 文件并运行以下命令:

xclip -selection clip -t image/png image.png
Run Code Online (Sandbox Code Playgroud)

我现在在剪贴板中有那个图像。如果我将它粘贴到接受图像的地方,它会按预期粘贴,一切都很好。

现在,请考虑我在 Firefox 地址栏或文本字段中按 ctrl+V 键入此内容。文件的二进制内容逐字粘贴到文本字段中,在某些情况下会导致浏览器挂起一阵子。

当然,我知道在那里粘贴图像没有意义,但有时我会不小心这样做,然后会导致问题。

当我粘贴我使用 firefox 的“复制图像”按钮复制的图像时,当我尝试粘贴它时它不会被粘贴,因此必须可以将它存储在剪贴板中以允许这种行为。

如何在剪贴板中放置图像而不使图像作为二进制数据逐字粘贴到文本字段中?如果可以以某种方式将图像和文本字符串(例如图像的路径或其他内容)放在剪贴板中,并在粘贴时选择合适的一个,那就太棒了。

小智 5

我像你一样用 xclip 将图像复制到剪贴板,这是我得到的目标列表:

> xclip -selection clip -t TARGETS -o
TARGETS
image/png
Run Code Online (Sandbox Code Playgroud)

现在,如果我从网页复制图像,我会得到:

> xclip -selection clip -t TARGETS -o
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlinfo
text/_moz_htmlcontext
image/png
image/jpeg
image/x-icon
image/x-ico
image/x-win-bitmap
image/vnd.microsoft.icon
application/ico
image/ico
image/icon
text/ico
image/tiff
image/bmp
image/x-bmp
image/x-MS-bmp
Run Code Online (Sandbox Code Playgroud)

例如将目标设置为 text/html 给出这样的输出

> xclip -sel c -t text/html -o       
<img src="..." alt="...">>
Run Code Online (Sandbox Code Playgroud)

很明显,这是上一个答案中所述的 xclip 问题