7

我正在 Rails 中构建文件操作 API,我需要能够通过单独的 gem 访问它。该 API 使用 Carrierwave,并且该部分可以毫无问题地工作。我不明白该怎么做是获取任意文件并将其从 gem 接口传递给 API。

Carrierwave 将其文件作为File.open('foo.jpg')文件字段的结果或作为 POST。不过,我真的不确定两者都在做什么来序列化文件并将其发送。

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

4

1 回答 1

4

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

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

这篇堆栈溢出文章似乎很好地说明了如何做到这一点。

于 2012-09-23T08:15:38.960 回答