M config/initializers/mime_types.rb => config/initializers/mime_types.rb +3 -2
@@ 1,6 1,7 @@
# frozen_string_literal: true
-# Be sure to restart your server when you modify this file.
-
Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json application/ld+json)
Mime::Type.register 'text/xml', :xml, %w(application/xml application/atom+xml application/xrd+xml)
+
+# WebP is not defined in Rack 2.2.
+Rack::Mime::MIME_TYPES['.webp'] = 'image/webp'
M spec/models/media_attachment_spec.rb => spec/models/media_attachment_spec.rb +3 -0
@@ 105,6 105,9 @@ RSpec.describe MediaAttachment, paperclip_processing: true do
# sets file extension
expect(media.file_file_name).to end_with extension
+
+ # Rack::Mime (used by PublicFileServerMiddleware) recognizes file extension
+ expect(Rack::Mime.mime_type(extension, nil)).to eq content_type
end
it 'saves media attachment with correct size metadata' do