Skip to content

[Feature] 关于媒体资源全都修改成temp目录存储的方案合理性探讨 #9091

Description

@jiongjiongJOJO

Description / 描述

突然间发现插件报错:

[2026-06-30 16:40:48.372] [Plug]
[ERRO]
[v4.26.2] [core.downloader:99]: [BIG BANANA] 下载图片失败: /AstrBot/data/temp/media_image_c293400c08f046d4a927c8efca4a20b3.jpg,错误信息:Failed to perform, curl: (3) URL rejected: No host part in the URL. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.
[2026-06-30 16:40:48.372] [Plug]
[ERRO]
[v4.26.2] [core.downloader:99]: [BIG BANANA] 下载图片失败: /AstrBot/data/temp/media_image_c293400c08f046d4a927c8efca4a20b3.jpg,错误信息:Failed to perform, curl: (3) URL rejected: No host part in the URL. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.
[2026-06-30 16:40:48.373] [Plug]
[ERRO]
[v4.26.2] [core.downloader:99]: [BIG BANANA] 下载图片失败: /AstrBot/data/temp/media_image_c293400c08f046d4a927c8efca4a20b3.jpg,错误信息:Failed to perform, curl: (3) URL rejected: No host part in the URL. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.
[2026-06-30 16:40:48.373] [Plug]
[ERRO]
[v4.26.2] [astrbot_plugin_big_banana.main:883]: 全部图片下载失败或者图片格式不支持

经过一路排查(属于是家里电坏了,一路查到了发电厂):适配器->AstrBot->AstrBot插件->AstrBot,最终发现在v4.26.0版本,也就是 7c366a708bf9c4c11c48a8f65572197545f57c33 版本 的 这个修改(不止这一处) ,AstrBot会把所有的媒体文件保存到temp目录下,并且替换掉原先的url,转而变成本地路径。

这样做当然有很多好处,但是作为用户量巨大的服务,是否要适当考虑兼容性问题呢?
这里提供一个思路,可以参考一下:
既然原先是url实现的,那,现在能否将本地路径转换成url?通过服务本身的端口创建一个媒体资源服务器,实现对应的功能呢?

截止在提交issue前,发现不止我一个人遇到了这个问题,当然应该还有更多人遇到了,可能没关注到对应的反馈。
如:
#9089

Use Case / 使用场景

No response

Willing to Submit PR? / 是否愿意提交PR?

  • Yes, I am willing to submit a PR. / 是的,我愿意提交 PR。

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:coreThe bug / feature is about astrbot's core, backendenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions