gpt4 book ai didi

ruby-on-rails - Rails] 上传到 Amazon S3 的富文本编辑器

转载 作者:行者123 更新时间:2023-12-04 05:13:02 25 4
gpt4 key购买 nike

我想为我的 rails 应用程序使用 ckeditor 或 redactor。
两者 ckeditorredactor-rails已经与 Carrierwave 很好地集成,但我想知道如何将上传文件夹编辑到我的 Amazon S3 而不是应用程序内的默认文件夹。

Redactor javascript 版本( this )实际上提供了一种使用 javascript 执行此操作的方法,但我想使用 Carrierwave 和 Fog 通过我的 rails 应用程序来执行此操作。这对我来说似乎更自然,但请告诉我使用 javascript 或使用 Carrierwave 和 Fog 这样做是否有好处。

由于我还没有找到解决这个问题的方法,我避免集成富文本编辑器,并让用户只使用纯文本并在每个帖子上传一张图片。然而,一个好的文本编辑器现在已成为必需品。

我找不到有关此事的任何文档,而且我相信还有许多其他人也遇到过类似的问题。

如果有人知道如何修复ckeditor和redactor的设置以使用carrierwave和fog将图片上传到Amazon S3,请留下答案。将不胜感激。

最佳答案

将配置放在 javascript 端没有任何害处,因为您的私钥永远不会公开(而且您永远不应该公开它)。

您使用以下代码(位于服务器上)生成签名和策略。

policy_json='{"expiration": "2020-01-01T00:00:00Z",

"conditions": [
{"bucket": "bucket name"},
["starts-with", "$key", ""],
{"acl": "public-read"},
{"success_action_redirect": "redirect url"},
["starts-with", "$Content-Type", ""],
["content-length-range", 0, 1048576]
]
}'
policy=Base64.encode64(policy_json).gsub("\n","")
signature = Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha1'), 'Your private key', policy)).gsub("\n","")

因此,您的私钥存储在服务器端,现在您可以进行 ajax 调用以获取这些值(策略和签名)并将其放在您的 View 中。

现在,在您的存储桶策略中,您可以指定 AllowedOrigin 为 www.yourwebsite.com。

这样做的作用是它只允许您的网站将内容发布到存储桶,从而防止任何恶意用户将内容发布到您的帐户。

关于ruby-on-rails - Rails] 上传到 Amazon S3 的富文本编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14657293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com