【问题标题】:Post Multipart file upload with json (text) and files (binary) as parts in Ruby使用 json(文本)和文件(二进制)作为 Ruby 中的部分发布多部分文件上传
【发布时间】:2015-08-01 15:24:00
【问题描述】:

我几乎完成了分段文件上传,但还没有完成。我使用的 API 需要两部分:元描述 (Json) 和文件 (File)。

这里有一些代码:

File.open(file_path) do |image|
  request = Net::HTTP::Post::Multipart.new(
    url.path,
    'metadata' => metadata_as_json_string,
    'attachment' => UploadIO.new(image, "image/jpeg", "image.jpg")
  )

我遇到的问题是“元数据”部分(metadata_as_json_string)。没有它一切正常,但 API 需要 json 格式的元信息。如果我将 json 内容保存在文件中并将其用作元数据部分,它将起作用。但我的内容不是来自文件。

任何想法如何在不事先将元数据保存在文件中的情况下提供元数据?

谢谢

【问题讨论】:

  • 使用json字符串时出现什么错误?
  • 很遗憾我只是从网络服务中得到一个 INTERNAL_SERVER_ERROR,所以没有真正的提示,抱歉

标签: ruby file http upload multipart


【解决方案1】:

我自己确实通过使用 StringIO 找到了解决方案:

metadata_file = StringIO.new(metadata_as_json_string)

File.open(file_path) do |image|
  request = Net::HTTP::Post::Multipart.new(
  url.path,
  'metadata' => UploadIO.new(metadata_file, "application/json"),
  'attachment' => UploadIO.new(image, "image/jpeg", "image.jpg")
)

谢谢你的时间

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2013-05-08
    • 2018-02-27
    相关资源
    最近更新 更多