如何通过 JSON API 通过 Carrierwave 上传文件?

2024-06-29

我正在 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(使用前将#替换为@)

如何通过 JSON API 通过 Carrierwave 上传文件? 的相关文章

随机推荐

  • VB6中判断一个字符是否为字母的最佳方法是什么?

    需要一个函数 该函数接受一个字符作为参数 如果是字母则返回 true 这是发布的代码的一部分rpetrich https stackoverflow com users 4007 rpetrich响应一个question https sta
  • 在页面之间传递 javascript 变量[重复]

    这个问题在这里已经有答案了 可能的重复 跨页面保留 javascript 变量 https stackoverflow com questions 1981673 persist javascript variables across pa
  • Twilio 通过 Google Apps 脚本发送和接收短信

    我正在尝试通过 Google Apps 脚本 GAS 发送和接收短信 GAS 不提供对发送短信或检查 Google Voice 的本机支持 因此我一直在考虑与第三方 API 集成 在本例中为 Twilio 我已经联系了 Twilio 的技术
  • GridView 的行中列宽不同

    我有一个 GridView 需要在其中显示图像 我应用了以下逻辑 If 1 Photo 1 row and 1 col and full width image If 2 Photos 1 row and 2 cols with equal
  • git 策略将一组提交限制在特定分支

    我需要经常在 dev 和 master 之间进行合并 我还有一个提交 我只需要应用于开发人员 以便在本地工作 早些时候 我只从 dev 合并到 master 所以我有一个分支 production changes 其中包含 dev 特殊提交
  • 扩展函数可以以“静态”方式调用吗?

    是否可以创建一个扩展函数并调用它就好像它是静止的一样 例如 fun System sayByeAndExit println Goodbye System exit fun main args Array
  • 如何在 Parse 中进行高效的布尔“假或未定义”查询?

    我有一个Boolean我的解析实体之一上的列 并且我想查询该列显式设置为的所有行false 或保留默认值undefined value 我做不到equalTo myBoolColumn false 因为它不返回具有undefined该列的值
  • 如何使用 jQuery 在输入元素上实现占位符文本?

    我如何在输入上实现 jquery 提示文本
  • Android - 如何使按钮不可见但仍处于活动状态?

    我试图在我的平板电脑上创建一个 热点 其作用类似于按钮 但用户看不到该按钮 当我尝试以下操作时 我有一个按钮 但当可见性设置为 4 时 用户无法交互或看到它 Button b Button findViewById R id b b set
  • VBScript 线程

    不久前 我在 vbscript 中将这段多线程代码拼凑在一起 然后我再次将其取出以将其应用于另一个问题 我现在遇到一个问题 运行命令 第 20 行 的返回值始终为 0 我意识到我已经使用了False作为 WaitOnReturn 参数 但否
  • Android studio 不让我安装 Android SDK 平台

    一切都工作正常 直到我导入 Esclipse Lollipop 示例并出现以下错误 我在 Mac OS X 上遇到了完全相同的问题 以下是我修复它的方法 cd Library Android sdk tools android update
  • 结构体可以为其自己的初始且唯一的成员添加别名吗?

    例如 此代码是否有效 或者它是否通过违反别名规则来调用未定义的行为 int x struct s int i y x 1 y struct s x printf d n y i 我的兴趣是使用基于此的技术来开发一种可移植的方法来执行别名读取
  • SwiftUI |警告:绑定首选项_尝试每帧更新多次。可能的原因?

    自从我按照偏好工作以来 PreferenceKey 我在控制台中收到此消息 Bound preference tried to update multiple times per frame 经过无数次的研究 我还没有找到任何方法可以让它安
  • 猜测Python中许多格式相同的日期的日期格式

    我有一大组日期时间字符串 可以安全地假设它们的格式都相同 例如 我可能有一组日期 7 1 13 0 45 5 2 13 6 21 7 15 13 1 24 7 9 13 12 41 2013 年 4 月 30 日 3 12 我们的想法是获得
  • 通过位屏蔽查找数据间隙

    我面临着在数字序列中查找给定长度的不连续性 间隙 的问题 因此 例如 给定 1 2 3 7 8 9 10 和一个间隙length 3 我会找到 4 5 6 如果间隙是length 4 我什么也找不到 当然 真正的序列要长得多 我在很多帖子中
  • 一部又一部的Android动画

    我在 TextView 上有两个 TranslateAnimations 我希望它们一个接一个地执行 但是 通过使用下面的代码 仅执行第二个代码 我该如何解决这个问题 TranslateAnimation animation new Tra
  • 如何在 Windows 上以纯 PHP 形式提取 .tar 文件?

    我有一个 PHP 脚本 我想在 Windows 上运行 我需要提取 tar 文件 如何提取 tar 文件 我知道 PharData 类 它可以在 Linux 上运行 但不能在 Windows 上运行 我的脚本就死了 没有错误输出或任何东西
  • 测试 ODBC 连接的有效方法

    我们的产品是一个 TCP 监听事务处理器 传入连接被分配一个线程来处理连接和一个数据库连接来使用 我们维护一个数据库连接池 而不是为每个传入的客户端连接建立新的数据库连接的昂贵方法 数据库连接池相当可配置 最小 最大大小 增长率等 一些细节
  • iPhone 蓝牙连接

    我可以连接 iPhone 并从我自己的应用程序中收集其他蓝牙设备 可能是 iphone ipod 诺基亚或其他蓝牙设备 如 PC 等 的数据 如果可能哪种方式最简单 像 GameKit 框架 请帮助我 通过 SDKGameKit框架是你唯一
  • 如何通过 JSON API 通过 Carrierwave 上传文件?

    我正在 Rails 中构建文件操作 API 并且我需要能够通过单独的 gem 访问它 API 使用 Carrierwave 并且该部分工作起来没有任何问题 我不明白如何获取任意文件并将其从 gem 接口传递给 API Carrierwave