通过API使用Activestorage(直接上传)

问题描述 投票:0回答:2

我想使用 Rails 作为移动应用程序(Android 和 iOS)的后端,其中一个要求是文件上传。

我还没有找到任何关于以这种方式使用 Activestorage 直接上传的资源 – 有没有人有示例或提示?

我想,另一种选择是对 activestorage.js 进行逆向工程并完全按照它的方式进行。但也许我不是第一个有这种需求的人...

ruby-on-rails rails-activestorage
2个回答
1
投票

Rails 不关心你的数据是否是从移动应用程序、html 表单、react-app、服务器到服务器发送的...

如果您可以验证请求并发送多部分文件,那么您可以从应用程序进行主动存储。

看看已经执行此操作的 gems/apps 可能是明智之举 https://github.com/cbothner/react-activestorage-provider


0
投票

晚了 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)

© www.soinside.com 2019 - 2024. All rights reserved.