Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用React和Elixir/Phoenix将图像上载到S3_Reactjs_Amazon Web Services_Amazon S3_Elixir_Phoenix Framework - Fatal编程技术网

Reactjs 使用React和Elixir/Phoenix将图像上载到S3

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,使其在

我正在计划如何实现这一目标,目前我有以下几点:

我在前端抓取一个文件,然后在提交时将文件名和类型发送到后端,在后端生成一个预先签名的URL。我把它寄给FE。然后我在前端发送文件


这里的问题是,当我生成预签名时,我希望通过后端将我的UUID文件名提交到数据库中的S3。我不知道前端是否能成功完成这项任务。我可以想出一些简陋的垃圾收集方法——但我想知道,有没有一种典型的指定方法可以做到这一点,而不会导致可能出现的故障,而这些故障可能是用户没有意识到的?

是的,有另一种方法。您可以配置bucket,使其在创建/更新对象时发送事件。您可以将此事件发送到SNS主题或AWS Lambda

从那里,您可以向Phoenix应用程序webhook发出请求,将其插入数据库

这样做的好处是,只有在创建文件后,事件才会出现


有关更多信息,您可以阅读以下内容:

是的,还有另一种方法。您可以配置bucket,使其在创建/更新对象时发送事件。您可以将此事件发送到SNS主题或AWS Lambda

从那里,您可以向Phoenix应用程序webhook发出请求,将其插入数据库

这样做的好处是,只有在创建文件后,事件才会出现


有关更多信息,请阅读以下内容:

我目前处理此问题的方式如下:

  • 压缩图像
  • 将映像发送到后端应用程序服务器
  • 在后端
  • 使用UUID作为密钥,将映像从s3发送到后端
  • 成功后,将UUID放入数据库
  • 使用UUID响应客户端,以便它可以显示图像
    通过执行这些步骤,您不会在数据库中引入错误

    我目前的处理方式如下:

  • 压缩图像
  • 将映像发送到后端应用程序服务器
  • 在后端
  • 使用UUID作为密钥,将映像从s3发送到后端
  • 成功后,将UUID放入数据库
  • 使用UUID响应客户端,以便它可以显示图像
    通过执行这些步骤,您不会在数据库中引入错误

    虽然这是一种不错的方法,但这需要客户端将图像发送到后端,然后再将后端发送到S3(上传两次,并使用后端资源进行上传)。这可以通过使用预先签名的URL来消除。@AbhyuditJain谢谢,我将进一步研究这些问题!虽然这是一种不错的方法,但这需要客户端将图像发送到后端,然后再将后端发送到S3(上传两次,并使用后端资源进行上传)。这可以通过使用预先签名的URL来消除。@AbhyuditJain谢谢,我将进一步研究这些问题!