如何使用Ckeditor5将图像上传到AWS S3

时间:2020-09-04 12:55:23

标签: amazon-s3 file-upload ckeditor ckeditor5

我正在尝试将图像从CkEditor5上传到s3存储桶。我的前端基于vue,后端基于NodeJ。图像的上传按预期方式工作,因为我可以看到图像已正确保存到s3存储桶。但是我对于是否应该公开使用该存储桶感到困惑?

CkEditor如何处理图像上传?

ckEditor使用一个简单的上载适配器,该适配器使用其自己的内置adapater来启用图像上载功能。当图像被拖放/复制粘贴到ckEditor时,它向我的后端NodeJs服务器发出一个HTTP POST请求,而服务器又调用S3来上传该图像(至此一切都按预期工作)。

现在,为了在CkEditor5中嵌入图像,服务器应使用URL属性作为JSON响应进行响应,如下所示,以便CkEditor可以获取它并在编辑器中显示。

{
  url: url-path-of-image //full path of image in s3 bucket
}

这是我很困惑的地方,需要一些指示。

问题1: 我应该公开吗?如果是,那么我将如何处理安全性(将其公开)将允许任何人访问。 如果我可以通过密钥/秘密访问它,该怎么办?

问题2:

这与问题#1有关

如果我将其公开,那么问题2将不是问题。但是,如果在这种情况下不被允许公开,我将如何在普通div元素中显示图像?稍后,我需要在div中显示CkEditor的内容,并在v-html属性中显示html解析。

任何建议或指示都会很有帮助。非常感谢您抽出时间阅读问题。

1 个答案:

答案 0 :(得分:0)

我不确定我在寻找解决方案。我可以说它与AWS S3中的签名URL有关。您可以将存储桶保密,将图像上传到S3并在需要向前端用户显示图像时生成签名的URL。

如果您了解更多有关正确实施的信息,请告诉我。