我无法使用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,...
Tempfile
创建一个临时文件的这种方法: