Rails 6:使用活动存储空间访问Amazon S3时,名称崩溃应用程序中带有特殊字符的文件

问题描述 投票:0回答:1

我正在使用Rails 6 Web应用程序中的活动存储上传到Amazon S3。直到我上传带有特殊字符的文件,然后尝试读取该文件时该应用程序崩溃,该Web应用程序才能正常工作。

我了解亚马逊不接受特殊字符,但是我不确定在上传之前如何转换文件名...在搜索论坛上,您似乎可以清除文件名,但是我不确定该代码将去哪里?

ruby-on-rails amazon-web-services amazon-s3 rails-activestorage ruby-on-rails-6
1个回答
0
投票

尝试一下

class Model < ApplicationRecord
  after_create :rename_filename

  def rename_filename
    if active_storage_object.attached?
      active_storage_object.blob.update(filename: "filename.#{active_storage_object.filename.extension}")
    end
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.