如何通过JSON API通过Carrierwave上传文件?

时间:2012-06-12 23:52:10

标签: ruby-on-rails ruby ruby-on-rails-3

我正在Rails中构建一个文件操作API,我需要能够通过一个单独的gem访问它。 API使用Carrierwave,这个部分没有问题。我不明白该怎么做是采取任意文件并从gem接口将其传递给API。

Carrierwave将其文件作为File.open('foo.jpg')的结果或从文件字段中作为POST。但是,我真的不确定要做什么,要序列化文件并发送它。

如何获取文件的内容并将其转换为可以传递并通过JSON发布的内容?

1 个答案:

答案 0 :(得分:4)

当HTML表单POST文件时,实际发生的是HTTP的一个特殊部分,称为多部分请求。实际上,文件会“附加”到请求中。

您将使用哪个库将JSON发布到您的api来回答问题。将文件附加到请求应该是相当普遍的,但并非所有库都可以支持它。

This stack overflow article seems to give some good indications of how to do it.