在带有图像的Rails中将JSON格式卷曲到ActiveStorage中

问题描述 投票:4回答:1

我如何通过curl发布将文件(在这种情况下为图片)上传到活动存储?文档没有确切说明如何使用curl或JS(例如Axios)

类似的方法很有效(如果我关闭了真实性令牌(skip_before_action :verify_authenticity_token):]]

 curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST -d '{"image": {"user_id":"1"}}' http://localhost:3000/images.json

它将像正常的curl JSON请求一样按预期方式发布。

像这样在base64中编码文件看起来很有希望:

(echo -n '{"image": {"user_id":"1", "picture":"'; base64 /Users/cj/Desktop/DesktopArchive/5vvyo4u8y8wz.jpg; echo '"}}') | curl -v -H "Content-Type: application/json" -H 'Accept: application/json' -X POST -d @-  http://localhost:3000/images.json

尽管我在上传中得到了ActiveSupport::MessageVerifier::InvalidSignature。我怀疑base64不是正确的签名。我应该使用什么来编码要上传到活动存储的图像?

编辑:

不是通过JSON进行操作,而是通过表单进行操作:

 curl \
   -F "image[user_id]=1" \
   -F "image[picture]=@/Users/cj/Desktop/DesktopArchive/5vvyo4u8y8wz.jpg" \
   http://localhost:3000/images

但是,仍然如何通过json调用来做到这一点,以便可以通过Axios或其他方式完成?

我如何通过curl发布将文件(在这种情况下为图片)上传到活动存储?文档没有确切说明如何使用curl或JS(例如Axios)做到这一点(如果我关闭...

ruby-on-rails curl rails-activestorage
1个回答
0
投票

我的示例与您的图像模型不同。但您可以在显示我的示例代码后更改代码https://github.com/x1wins/tutorial-rails-rest-api/blob/master/README.md#active-storage

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