我如何通过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)做到这一点(如果我关闭...
我的示例与您的图像模型不同。但您可以在显示我的示例代码后更改代码https://github.com/x1wins/tutorial-rails-rest-api/blob/master/README.md#active-storage