Ruby on Rails中Active Storage如何实现XML文件上传处理?

2026-04-29 13:081阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计806个文字,预计阅读时间需要4分钟。

Ruby on Rails中Active Storage如何实现XML文件上传处理?

Active Storage 本身不限制文件类型,但 Rails 默认的 `content_type` 白名单会拦截 `application/xml` 和 `text/xml` 类型。上传 XML 文件时,可能会遇到 `ActiveStorage::InvariableError` 或静默失败(实际上没有上传 Blob)。根本原因是 Rails 7 对非图像/文本/视频等常规类型做了默认过滤。

  • 检查日志里是否出现 Skipping Active Storage attachment: unsupported content type
  • 不是 Active Storage 不能存 XML,而是 ActiveStorage::Blob.create_after_upload! 被中间件提前拒绝了
  • 绕过方式不是改源码,而是显式声明允许类型

如何让 Active Storage 接收 XML 文件

在初始化配置中扩展允许的 MIME 类型列表。

阅读全文

本文共计806个文字,预计阅读时间需要4分钟。

Ruby on Rails中Active Storage如何实现XML文件上传处理?

Active Storage 本身不限制文件类型,但 Rails 默认的 `content_type` 白名单会拦截 `application/xml` 和 `text/xml` 类型。上传 XML 文件时,可能会遇到 `ActiveStorage::InvariableError` 或静默失败(实际上没有上传 Blob)。根本原因是 Rails 7 对非图像/文本/视频等常规类型做了默认过滤。

  • 检查日志里是否出现 Skipping Active Storage attachment: unsupported content type
  • 不是 Active Storage 不能存 XML,而是 ActiveStorage::Blob.create_after_upload! 被中间件提前拒绝了
  • 绕过方式不是改源码,而是显式声明允许类型

如何让 Active Storage 接收 XML 文件

在初始化配置中扩展允许的 MIME 类型列表。

阅读全文