如何将 base64 编码的文件提交给回形针?
How to submit a base64 encoded file to paperclip?
我有一个反应本机应用程序,它从设备读取图像文件作为 base64
字符串,并通过 axios
将其提交给 rails
应用程序。这是正在提交的部分数据:
/9j/4QBYRXhpZgAATU0AKgAAAAgABIdpAAQAAAABAAAAPgESAAQAAAABAAAAAAEBAAQAAAABAAAB4AEAAAQAAAABAAACgAAAAAAAAZIIAAQAAAABAAAAAAAAAAD/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHgAoADASIAAhEBAxEB/8QAGgABAQEBAQEBAAAAAAAAAAAAAAcGBQECCP/EAEIQAQAAAAcMBwQKAwEBAQAAAAAHERJFg8LSAgMEBQYVFhdUVZKjARMUMmWU0SMxpOIhIiQlJidDUWFxN0GBkbEz/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAUGBAH/xAAmEQEAAAIKAgMBAAAAAAAAAAAAgaEFERUWQkNiY8HhBAYSFCEi/9oADAMBAAIRAxEAPwD8vjbatccbTgHHd2TVrjjacA47uyDEjbatccbTgHHd2TVrjjacA47uyDpQNzxQ11JTbE35e9dnr2/b5PVdk+vJkRxypUmLv9EXv/59EfT1lYn2bD+C4tA2wxOsrE+zYfwXFo1lYn2bD+C4tA2wxOsrE+zYfwXFo1lYn
问题是,我不能直接将它添加到回形针。我应该怎么做才能让它发挥作用?
模型中附加文件的方法(本例中为Event
):
def add_picture(picture_64, picture_name)
picture_data = Paperclip.io_adapters.for(picture_64)
picture_data.original_filename = picture_name
self.picture = picture_data
end
控制器中的方法:
def create_picture
if params[:picture]
picture_params = params[:picture]
@event.add_picture(picture_params[:file_data], picture_params[:file_name])
end
end
一般来说,您只需要 Paperclip.io_adapters.for(picture_64)
,这将为您生成 Paperclip
接受的必要对象。
我有一个反应本机应用程序,它从设备读取图像文件作为 base64
字符串,并通过 axios
将其提交给 rails
应用程序。这是正在提交的部分数据:
/9j/4QBYRXhpZgAATU0AKgAAAAgABIdpAAQAAAABAAAAPgESAAQAAAABAAAAAAEBAAQAAAABAAAB4AEAAAQAAAABAAACgAAAAAAAAZIIAAQAAAABAAAAAAAAAAD/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHgAoADASIAAhEBAxEB/8QAGgABAQEBAQEBAAAAAAAAAAAAAAcGBQECCP/EAEIQAQAAAAcMBwQKAwEBAQAAAAAHERJFg8LSAgMEBQYVFhdUVZKjARMUMmWU0SMxpOIhIiQlJidDUWFxN0GBkbEz/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAUGBAH/xAAmEQEAAAIKAgMBAAAAAAAAAAAAgaEFERUWQkNiY8HhBAYSFCEi/9oADAMBAAIRAxEAPwD8vjbatccbTgHHd2TVrjjacA47uyDEjbatccbTgHHd2TVrjjacA47uyDpQNzxQ11JTbE35e9dnr2/b5PVdk+vJkRxypUmLv9EXv/59EfT1lYn2bD+C4tA2wxOsrE+zYfwXFo1lYn2bD+C4tA2wxOsrE+zYfwXFo1lYn
问题是,我不能直接将它添加到回形针。我应该怎么做才能让它发挥作用?
模型中附加文件的方法(本例中为Event
):
def add_picture(picture_64, picture_name)
picture_data = Paperclip.io_adapters.for(picture_64)
picture_data.original_filename = picture_name
self.picture = picture_data
end
控制器中的方法:
def create_picture
if params[:picture]
picture_params = params[:picture]
@event.add_picture(picture_params[:file_data], picture_params[:file_name])
end
end
一般来说,您只需要 Paperclip.io_adapters.for(picture_64)
,这将为您生成 Paperclip
接受的必要对象。