Angularjs 基于浏览器的文件上载到AWS S3并编码服务器客户端工作流

Angularjs 基于浏览器的文件上载到AWS S3并编码服务器客户端工作流,angularjs,amazon-web-services,amazon-s3,client-server,communication,Angularjs,Amazon Web Services,Amazon S3,Client Server,Communication,我正在编写一个单页web应用程序(angularJs)和一个服务器后端(node.js)。它们之间的通信是通过REST完成的 目前,我正在尝试实现以下场景: 将大文件从浏览器上载到S3公共存储桶 将上传的文件复制到S3上的私有bucket 将上传的文件转换为HTML 5兼容格式(AWS弹性转码器) 将有关文件的元对象存储在数据库中,以便以后访问 我绞尽脑汁想得到服务器和客户端之间的通信/数据工作流的良好工作设计,但总是被以下问题所困扰 在进程结束或开始时存储文件元对象。如果是在一开始,我必须存

我正在编写一个单页web应用程序(angularJs)和一个服务器后端(node.js)。它们之间的通信是通过REST完成的

目前,我正在尝试实现以下场景:

  • 将大文件从浏览器上载到S3公共存储桶

  • 将上传的文件复制到S3上的私有bucket

  • 将上传的文件转换为HTML 5兼容格式(AWS弹性转码器)

  • 将有关文件的元对象存储在数据库中,以便以后访问

  • 我绞尽脑汁想得到服务器和客户端之间的通信/数据工作流的良好工作设计,但总是被以下问题所困扰

    • 在进程结束或开始时存储文件元对象。如果是在一开始,我必须存储和处理一些状态信息

    • 谁应该开始将上传的文件复制到私有bucket。服务器还是客户端?如果是服务器,客户端如何获得作业成功的通知

    • 谁开始代码转换过程?如果是服务器,客户端如何获得作业成功的通知


    您将如何做到这一点?

    有一个非常好的教程,它描述了您计划实现的用例:

    如果您的代码转换系统具有RESTfull API(如本教程中使用的bitcodin或任何其他服务),您也可以在客户端执行应用程序,并使用API调用获取代码转换的状态,等等。但是,使用API,您也可以在服务器端执行相同的操作,任何更适合您的操作都可以


    我个人会在流程开始时存储元数据信息,因为这是您在数据库/CMS/等中生成“资产”的时间点。

    Thx供您回答Stefan。我查看了您链接的教程,这确实符合我计划实施的内容。主要区别在于,所有这些步骤都应该在我的系统中自动完成。用户只是将文件放入浏览器中。在这一点上,服务器和客户端之间的数据和通信流开始变得不那么明显。如果服务器启动此过程,客户端如何得知转码已完成?