我需要上传图片与神社使用上传,我有默认上传从这里的例子,包括几个衍生工具。
就像这里,https://shrinerb.com/docs/getting-started
但我想在IRB内部创建新的实例,我不知道如何正确地将图像传递给圣殿。当我完成它时,它将在一个脚本中用于转换一组图像。
如果我这么做:
Images.new(
title: title,
image: File.open("image.png")
)
它在验证时失败,因为mime类型为空。当我使用表单上传图像时,有ActionDispatch::Http::UploadedFile对象包含完整的信息。
请,我如何将图像传递给上传者,以便正确处理,mime类型存储和创建派生程序?
如果我试试这个。
attacher = Shrine::Attacher.from_model(new_image, :image)
attacher.assign(image)
内部图像是图像的路径,它在以下方面失败:
*** JSON::ParserError Exception: 784: unexpected token at
如果我通过File.open(图像)来分配方法,我就可以上传原始图像,但是没有mime类型,也没有导数。
我有点困惑。
谢谢
发布于 2021-05-27 21:28:43
我有个解决办法。
神社上传器需要一个以二进制模式打开的File对象,所以
image: File.open(image, binmode: true)
在创建模型类的实例时。
发布于 2021-07-28 06:40:10
有时,当您看到这个解析错误时,这是因为记录已经包含了要更新的列中的一些数据。因此,它尝试将该列读入JSON,但由于它可能是字符串或随机字符,因此它将失败。尝试查看数据库中是否存在非空值或非JSON {}值。
https://stackoverflow.com/questions/67722646
复制