Ruby on rails 如何使用fog从AmazonS3检索unicode名称的文件

Ruby on rails 如何使用fog从AmazonS3检索unicode名称的文件,ruby-on-rails,ruby,unicode,amazon-s3,fog,Ruby On Rails,Ruby,Unicode,Amazon S3,Fog,它可以很好地处理名称中带有英文符号的文件,但如果文件具有西里尔字母名称,则会失败,出现异常:“nil:NilClass的未定义方法`body'” 如何从S3检索名称中包含非unicode符号的文件?您应该尝试对文件进行强制编码 @file_msg.file.retrieve_from_store! File.basename(@file_msg.file.url).force_encoding("UTF-8")) @file_msg.file.retrieve_from_store! File

它可以很好地处理名称中带有英文符号的文件,但如果文件具有西里尔字母名称,则会失败,出现异常:“nil:NilClass的未定义方法`body'”


如何从S3检索名称中包含非unicode符号的文件?

您应该尝试对文件进行强制编码

@file_msg.file.retrieve_from_store! File.basename(@file_msg.file.url).force_encoding("UTF-8"))
@file_msg.file.retrieve_from_store! File.basename(@file_msg.file.url).force_encoding("UTF-8"))