使用Paperclip将图像发布请求通过http上传到其他应用程序
我可以使用paperclip将图像附件上传到我的应用程序。 但我想通过法拉第连接将图像发送到另一个应用程序。 其他属性已成功发送但未附加图像。 我不确定应该怎样做才能实现这一目标。
您需要使用可以创建Multipart Post请求的HTTP库。
例如,Typhoeus可以上传文件: https : //github.com/typhoeus/typhoeus#handling-file-uploads 。
还有Net :: HTTP Multipart Post: https : //github.com/nicksieger/multipart-post
最后: https : //github.com/jwagener/httmultiparty
阅读任何这些gem的自述文件,它们都可以轻松地进行文件上传。 我喜欢Typhoeus,因为它可以做并行请求。 另外两个稍微简单但同样有用。
详细了解多部分表单post的内容:
- 什么是http多部分请求?
- application / x-www-form-urlencoded或multipart / form-data?
- http://www.huyng.com/posts/under-the-hood-an-http-request-with-multipartform-data/
如果我必须坚持使用法拉第,这里是如何实现回形针附件的发布。
Faraday.new(:url => url) do |faraday| faraday.request :multipart end
并将附件放在发布请求的地方
params['avatar'] = Faraday::UploadIO.new(avatar.map.path, 'image/jpeg')