如何使用activeStorage和Cloudinary将图像附加到模型上?我一直在尝试在UserType.rb文件中遵循以下方法。
class Hash < Types::BaseInputObject
argument :_parts,[String],required: false
end
argument :image,Hash,required: false
argument :image_name,String,required: false
decoded_image = Base64.decode64(image)
image_io = StringIO.new(decoded_image)
@user.image.attach(io: image,filename: 'test')
@user.save
从客户那里得到的照片赞美了
"variables"=>{"image"=>{"_parts"=>[["image",{"image"=>"file:///Users/hugohouyez/library/Developer/CoreSimulator/Devices/B25284C3-EE82-4DD3-AF6D-309F8CA7C608/data/Containers/Data/Application/C5AB683D-EAA5-482B-B52E-60D98B6753CE/Documents/images/79AD6A23-CDF9-451D-AC6B-ED3FE045336E.jpg"
但是,我无法使其正常运行。我收到以下错误消息:
错误:GraphQL错误:为_parts.0提供了Hash类型的变量图像无效值(无法强制转换值[“ image”,“ {\” image \“ => \” file:...
在客户端上,代码看起来像这样
const [createUser] = useMutation(CREATE_USER);
const createUserHook = ({image,image_name,first_name}) => {
let fileType = image[image.length - 1];
let formData = new FormData();
formData.append('image',{
image,name: `photo.${fileType}`,type: `image/${fileType}`,});
return createUser({ variables: { image: formData,image_name: image_name,first_name: first_name }})
}
感谢您的帮助,因为我找不到任何官方文档。