如何在没有模型的轨道中使用载波?
Posted
技术标签:
【中文标题】如何在没有模型的轨道中使用载波?【英文标题】:How to use carrierwave without a model in rails? 【发布时间】:2015-11-19 22:38:20 【问题描述】:我正在尝试使用以下代码在我的 rails 应用程序中保存一个 png
uploader = AvatarUploader.new
uploader.store!(params[:image])
但它抛出 ArgumentError (UTF-8 中的无效字节序列)
我在这里做错了什么?
我正在使用 AFNetworking 通过 ios 应用程序发布它。
【问题讨论】:
【参考方案1】:下面是来自this answer 的简短摘录,根据您的问题改编:
uploader = AvatarUploader.new
File.open(params[:image]) do |file|
something = uploader.store!(file)
end
uploader.retrieve_from_store!(self.file_name)
【讨论】:
谢谢.. 但我最终使用了carrierwave-ios gem。这就像一个魅力。有时间会测试一下。【参考方案2】:如果您的params[:image]
是Tempfile
或StringIO
的实例,则应在此实例上调用read
方法。
你的代码应该是
uploader = AvatarUploader.new
image = params[:image]
uploader.store!(image.read)
【讨论】:
这是我传递的 post 参数。我试过你的代码。它抛出“未定义的方法'read'”错误以上是关于如何在没有模型的轨道中使用载波?的主要内容,如果未能解决你的问题,请参考以下文章
如何在错误轨道“警告:299 Elasticsearch 内置安全功能未启用。如果没有身份验证,您的集群可以...”中解决此问题