Reactjs 使用React和Elixir/Phoenix将图像上载到S3
我正在计划如何实现这一目标,目前我有以下几点: 我在前端抓取一个文件,然后在提交时将文件名和类型发送到后端,在后端生成一个预先签名的URL。我把它寄给FE。然后我在前端发送文件Reactjs 使用React和Elixir/Phoenix将图像上载到S3,reactjs,amazon-web-services,amazon-s3,elixir,phoenix-framework,Reactjs,Amazon Web Services,Amazon S3,Elixir,Phoenix Framework,我正在计划如何实现这一目标,目前我有以下几点: 我在前端抓取一个文件,然后在提交时将文件名和类型发送到后端,在后端生成一个预先签名的URL。我把它寄给FE。然后我在前端发送文件 这里的问题是,当我生成预签名时,我希望通过后端将我的UUID文件名提交到数据库中的S3。我不知道前端是否能成功完成这项任务。我可以想出一些简陋的垃圾收集方法——但我想知道,有没有一种典型的指定方法可以做到这一点,而不会导致可能出现的故障,而这些故障可能是用户没有意识到的?是的,有另一种方法。您可以配置bucket,使其在
这里的问题是,当我生成预签名时,我希望通过后端将我的UUID文件名提交到数据库中的S3。我不知道前端是否能成功完成这项任务。我可以想出一些简陋的垃圾收集方法——但我想知道,有没有一种典型的指定方法可以做到这一点,而不会导致可能出现的故障,而这些故障可能是用户没有意识到的?是的,有另一种方法。您可以配置bucket,使其在创建/更新对象时发送事件。您可以将此事件发送到SNS主题或AWS Lambda 从那里,您可以向Phoenix应用程序webhook发出请求,将其插入数据库 这样做的好处是,只有在创建文件后,事件才会出现
有关更多信息,您可以阅读以下内容:是的,还有另一种方法。您可以配置bucket,使其在创建/更新对象时发送事件。您可以将此事件发送到SNS主题或AWS Lambda 从那里,您可以向Phoenix应用程序webhook发出请求,将其插入数据库 这样做的好处是,只有在创建文件后,事件才会出现
有关更多信息,请阅读以下内容:我目前处理此问题的方式如下:
通过执行这些步骤,您不会在数据库中引入错误 我目前的处理方式如下:
通过执行这些步骤,您不会在数据库中引入错误 虽然这是一种不错的方法,但这需要客户端将图像发送到后端,然后再将后端发送到S3(上传两次,并使用后端资源进行上传)。这可以通过使用预先签名的URL来消除。@AbhyuditJain谢谢,我将进一步研究这些问题!虽然这是一种不错的方法,但这需要客户端将图像发送到后端,然后再将后端发送到S3(上传两次,并使用后端资源进行上传)。这可以通过使用预先签名的URL来消除。@AbhyuditJain谢谢,我将进一步研究这些问题!