使用 Paperclip 通过 http 将图像 post 请求上传到其他应用程序

Upload image post request over http to other application using Paperclip

我可以使用回形针将图像附件上传到我的应用程序。但我想通过法拉第连接将图像发送到另一个应用程序。其他属性已成功发送,但附件图像未成功发送。我不确定我应该怎么做才能实现这一目标。

您需要使用可以创建多部分 Post 请求的 HTTP 库。

例如 Typhoeus 可以上传文件:https://github.com/typhoeus/typhoeus#handling-file-uploads.

还有 Net::HTTP 多部分 Post:https://github.com/nicksieger/multipart-post

最后:https://github.com/jwagener/httmultiparty

阅读任何这些 gem 的自述文件,它们都使文件上传变得同样容易。我喜欢 Typhoeus,因为它可以进行并行请求。另外两个比较简单,但同样有用。

详细了解什么是多部分表单 post:

如果我必须坚持使用法拉第,这里是实现 post 回形针附件的方法。

    Faraday.new(:url => url) do |faraday|
        faraday.request :multipart
    end

并将附件原样放在 post 请求发生的地方

params['avatar'] = Faraday::UploadIO.new(avatar.map.path, 'image/jpeg')