HTTParty:上传文件

HTTParty: Upload files

如何使用 HTTParty 执行以下 curl 调用?

$ curl -u andrew.lunny@nitobi.com -F keystore=@android.keystore -F 'data={"title":"Android Key","alias":"release", "key_pw":"90123456","keystore_pw":"78901234"}' https://build.phonegap.com/api/v1/keys/android

这是我目前拥有的:

HTTParty.post("https://build.phonegap.com/api/v1/keys/android?auth_token=#{phonegap_token}", query: { keystore: file }, body: { data: {
    title: 'Android Key',
    alias: '...',
    key_pw: '...',
    keystore_pw: '...'
} }, format: :plain)

file 是一个 Tempfile 对象,我从文件所在的云存储中获取。

我想传递一个使用 Carrierwave 上传并使用 Fog 存储的文件。我必须先从 URL 中获取它吗?

我不确定它是否有效,但您可以尝试:

HTTParty.post("https://build.phonegap.com/api/v1/keys/android",  
  body: { 
    data: {
      title: 'Android Key',
      alias: '...',
      key_pw: '...',
      keystore_pw: '...'
    }.to_json,
  keystore: File.read(file)
  })