Skip to content

附件管理问题 #8414

@pandyzhou

Description

@pandyzhou

前置条件

  • 已经在 issues 列表中搜索了相关问题。
  • 这是 Halo 项目本身存在的问题,如果是非项目本身的问题(如:安装部署问题),建议在 Discussions 提交。
  • 已经尝试过停用所有的插件,排除是插件导致的问题。
  • 如果是插件和主题的问题,请在对应的插件和主题仓库提交。

系统信息

环境

  • Halo 版本:2.22.x

使用的哪种方式运行?

Docker

发生了什么?

标题: 附件存储后端文件被外部删除后,附件管理页面卡死

内容:

问题描述

当使用第三方存储策略(如 S3、OpenList 等)时,如果在存储后端手动删除了文件,Halo Console 的附件管理页面会卡死无法正常使用。

原因分析

附件列表页面加载时,会为每个附件请求 permalink 来显示缩略图预览。当存储后端的文件已被删除,浏览器对这些 URL 发起的 HTTP 请求会返回 404 或超时。大量这样的请求并发堆积导致页面卡死。

建议

  • 附件列表的图片预览加载失败时做容错处理(如显示占位图、限制并发请求数)
  • 或者提供批量检测附件有效性的功能,方便清理失效记录

复现步骤

复现步骤

  1. 通过 Halo 上传附件到第三方存储后端(如 S3对象存储)
  2. 在存储后端直接删除该文件(不通过 Halo)
  3. 打开 Halo Console → 附件管理页面
  4. 页面卡死

相关日志输出

附加信息

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/coreIssues or PRs related to the Halo Corekind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions