You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在浏览器外读取即时通讯软件生成的Blob URL数据?

Blob URL 读取机制与本地保存实现

一、Telegram能读取Blob URL的原因

  • Blob URL是浏览器为内存中的二进制对象生成的本地引用,仅在生成它的浏览器进程内有效,外部工具(如wget)无法直接访问。
  • Telegram处理粘贴时,不会去请求Blob URL,而是直接读取剪贴板中存储的图片原始二进制数据。因为复制图片操作时,剪贴板里同时包含了Blob URL和图片的实际内容,Telegram优先读取后者,所以能正常获取图片。

二、Bash脚本实现图片保存的方法

要在bash中实现类似功能,核心是直接读取剪贴板里的图片二进制数据,而非解析Blob URL。以下是不同系统的实现:

Linux系统(依赖xclip工具)

  1. 先安装xclip:sudo apt install xclip(Debian/Ubuntu系)或sudo dnf install xclip(RHEL/CentOS系)
  2. 脚本示例:
#!/bin/bash
# 从剪贴板读取图片数据并保存为image.png
xclip -selection clipboard -t image/png -o > image.png

# 自动识别图片格式的版本
xclip -selection clipboard -t image/* -o > temp.img
FILE_TYPE=$(file -b --mime-type temp.img)
EXT=$(echo $FILE_TYPE | cut -d '/' -f 2)
mv temp.img image.$EXT

macOS系统

macOS自带的pbpaste可以直接处理剪贴板的图片数据:

#!/bin/bash
# 读取剪贴板图片并保存为png格式
pbpaste -Prefer png > image.png

# 自动识别图片格式的版本
pbpaste > temp.img
FILE_TYPE=$(file -b --mime-type temp.img)
EXT=$(echo $FILE_TYPE | cut -d '/' -f 2)
mv temp.img image.$EXT

注意事项

  • Blob URL本身无法通过外部工具直接访问,必须依赖剪贴板里的原始数据。
  • 如果剪贴板中只有Blob URL(没有原始图片数据),这种方法无效,因为此时Blob URL指向的内存对象仅存在于生成它的浏览器进程中。

内容的提问来源于stack exchange,提问作者aitvann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:32:11