Amazon s3 如何使用Ckeditor5将图像上载到AWS S3
我正在尝试从CkEditor5上传一个图像到s3存储桶。我的前端构建在vue上,后端构建在NodeJs上。上传的图像是工作的预期,因为我可以看到图像正在保存到s3桶正确。然而,我有一个困惑,水桶是否应该公开 CkEditor如何处理图像上传? ckEditor使用一个简单的上传适配器,该适配器使用自己的内置适配器来启用图像上传功能。当图像被拖放/复制粘贴到ckEditor时,它会向我的后端NodeJs服务器发出一个httppost请求,然后服务器依次调用S3来上传该图像(直到此时一切都正常工作) 现在,为了在CkEditor5中嵌入图像,服务器应该使用URL属性作为JSON响应进行响应,如下所示,以便CkEditor可以获取图像并在编辑器中显示Amazon s3 如何使用Ckeditor5将图像上载到AWS S3,amazon-s3,file-upload,ckeditor,ckeditor5,Amazon S3,File Upload,Ckeditor,Ckeditor5,我正在尝试从CkEditor5上传一个图像到s3存储桶。我的前端构建在vue上,后端构建在NodeJs上。上传的图像是工作的预期,因为我可以看到图像正在保存到s3桶正确。然而,我有一个困惑,水桶是否应该公开 CkEditor如何处理图像上传? ckEditor使用一个简单的上传适配器,该适配器使用自己的内置适配器来启用图像上传功能。当图像被拖放/复制粘贴到ckEditor时,它会向我的后端NodeJs服务器发出一个httppost请求,然后服务器依次调用S3来上传该图像(直到此时一切都正常工作)
{
url: url-path-of-image //full path of image in s3 bucket
}
这就是我困惑的地方,需要一些指点
问题1:
我应该公开吗?如果是的话,那么我该如何处理安全问题,将其公开会让任何人都可以访问。
如果我使用key/secret使其可访问,我该如何操作
问题2:
这个问题与问题1有关
如果我将其公开,那么问题#2将不会成为问题。但是,如果在这种情况下不允许我公开,我将如何在普通div元素中显示图像?稍后,我需要在div中显示CkEditor的内容,在v-html属性中显示html解析含义
任何建议或指点都会很有帮助。非常感谢您抽出时间仔细阅读此问题。我不确定我是否在寻找解决方案。我可以看出它与AWSS3中的签名URL有关。您可以保持bucket私有,将图像上传到S3,并在需要在前端向用户显示图像时生成签名url
如果您对正确的实现有更多了解,请让我知道。事实上,我已经了解了,我将发布一个答案。