[Bug?]: 使用base64发特定图片时丢失尺寸信息导致客户端图片显示异常
请确保您已阅读以上注意事项,并勾选下方的确认框。
- [X] 我已经仔细阅读上述内容
- [X] 我已经使用 最新构建 测试过,问题依旧存在。
- [X] 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题的ISSUE。
- [X] 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(其它疑问请考虑加入TG群询问或在discussions中提问)
Lagrange项目
OneBot
所使用/依赖的Lagrange项目对应的commit
ae400c0168d0364f00d253420ed3e91c03934872
运行环境
MacOS
运行架构
arm64
连接方式
正向 WebSocket
重现步骤
bot通过base64形式发送特定图片
e.g.
期望的结果是什么?
图片正常发送,并且在QQ客户端下正常显示
实际的结果是什么?
在安卓端、pc端下,图片尺寸异常(准确来说是尺寸为0,0),在 IPad 端下图片甚至不显示
简单的复现代码/链接(可选)
https://github.com/RF-Tar-Railt/RaianBot/blob/bbfb90315d60f94b81a3f1b176b0b238cfe26499/plugins/gacha/main.py#L202-L266
Trace 级别日志记录(可选)
No response
补充说明(可选)
No response
我也遇到了这个问题,通过 base64 发送图片,尺寸信息丢失。但是如果是通过 https:// 这样的URL发送图片则是正常的
提供一下会触发的图片?
提供一下会触发的图片?
不是就在issue上吗(
我无法在当前版本复现这个问题(Windows MacOS Ubuntu都尝试了
我无法在当前版本复现这个问题(Windows MacOS Ubuntu都尝试了
用的是macos下的docker
我是通过 koishi 调用 onebot 发送图片遇到的
async function read_file_local (path: string) {
const content = await fs.readFile(path)
return content.buffer.slice(content.byteOffset, content.byteOffset + content.byteLength);
}
export function apply(ctx: Context) {
ctx.command('test_1').action(async (session) => {
const image_buffer = await read_file_local('f:\\Download\\1207074.jpg')
return h.image(image_buffer, 'image/jpeg')
})
}
就是下面这张图
哈喽,更新情况,我在Ubuntu上跑的最新版本的lgr onebot依然存在这种情况
哈喽,更新情况,我在Ubuntu上跑的最新版本的lgr onebot依然存在这种情况
依旧无法复现