我想使用 Rails 作为移动应用程序(Android 和 iOS)的后端,其中一个要求是文件上传。
我还没有找到任何关于以这种方式使用 Activestorage 直接上传的资源 – 有没有人有示例或提示?
我想,另一种选择是对 activestorage.js 进行逆向工程并完全按照它的方式进行。但也许我不是第一个有这种需求的人...
Rails 不关心你的数据是否是从移动应用程序、html 表单、react-app、服务器到服务器发送的...
如果您可以验证请求并发送多部分文件,那么您可以从应用程序进行主动存储。
看看已经执行此操作的 gems/apps 可能是明智之举 https://github.com/cbothner/react-activestorage-provider
晚了 6 年,但本质上你需要做的是使用
create_before_direct_upload!创建一个
ActiveStorage::Blob
。然后,您可以使用 url
方法获取用于直接上传的 Blob 的 url 以及 Blob 的 signed_id
,稍后您可以使用 find_signed
查找 Blob 记录。
获得 Blob 记录后,您可以简单地将模型的属性设置为该记录,例如:user.picture = ActiveStorage::Blob.find_signed(signed_id)
。