无法将图像上传到活动存储空间

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

我无法使用ActiveStorage存储base64文件,我正在从客户端接收base64字符串

params["image"] = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAREAAABMCAYAAABK84MTAAAABHNCSVQICAgIfAhkl0RVh"

并且当我尝试附加它时,我得到:

ActiveSupport::MessageVerifier::InvalidSignature(ActiveSupport::MessageVerifier::InvalidSignature):

我遵循了许多教程,尝试先对其进行解码:

decoded_image = Base64.decode64(params["image"])
post.image.attach(decoded_image)

以及使用以下命令从字符串中删除data:image / png; base64部分]

decoded_image = Base64.decode64(params["image"]['data:image/png;base64,'.length .. -1])

然后直接从文件中添加图像时,没有成功附加图像:

file = open("image.png")
post.image.attach(io: file, filename: "post.png")

它运行完美,所以我认为我的错误是在字符串解析期间

我无法使用ActiveStorage存储base64文件,我从客户端参数中接收到base64字符串[“ image”] =“ data:image / png; base64,...

ruby-on-rails image activerecord blob
1个回答
0
投票
我不确定是否可以使用,但是尝试使用Tempfile创建一个临时文件的这种方法:
© www.soinside.com 2019 - 2024. All rights reserved.