我正在 Rails 中构建文件操作 API,并且我需要能够通过单独的 gem 访问它。 API 使用 Carrierwave,并且该部分工作起来没有任何问题。我不明白如何获取任意文件并将其从 gem 接口传递给 API。
Carrierwave 将其文件作为以下结果File.open('foo.jpg')
或作为来自文件字段的 POST。不过,我真的不确定他们在做什么,以序列化文件并将其发送。
如何获取文件的内容并将其转换为可以通过 JSON 传递和发布的内容?
当 HTML 表单 POST 文件时,实际发生的是 HTTP 的一个特殊部分,称为多部分请求。实际上,文件被“附加”到请求。
这个问题将由您使用哪个库将 JSON POST 到您的 api 来回答。将文件附加到请求应该是相当常见的,但并非所有库都支持它。
这篇堆栈溢出文章似乎给出了一些关于如何做到这一点的很好的指示。 https://stackoverflow.com/questions/184178/ruby-how-to-post-a-file-via-http-as-multipart-form-data
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)