我想将文件上传到AWS s3
。我使用nodejs作为服务器。
我想知道哪种方法更好。从客户端或服务器端上传?
由于文件大小很大,我担心发送到服务器端并处理它的带宽。
与此同时,我担心从客户端处理密钥的安全问题。
从客户端和服务器端上传文件的优缺点是什么?
答案 0 :(得分:3)
客户 - >您的服务器 - > S3上传注意事项:
客户端直接上传到S3注意事项:
安全性 - 您有许多选项可以为用户提供上传到S3的访问权限:a)签名URL b)访问密钥(可怕的想法)c)Cognito提供临时访问密钥。建议:使用在您的服务器上生成的签名URL,并且不要将任何类型的访问密钥交给客户端。
成本 - 从客户端到S3的入站是免费的。
性能 - 您的服务器在性能方面不是中间人。性能将仅限于用户的Internet连接的性能。客户不太可能(但并非总是)因上传不良问题而责怪您。
可靠性 - 有许多经过良好测试的库可用于上传到S3。建议:投资生产质量客户端(Web浏览器)库,处理Internet中断和其他问题,重试,良好的用户提示,后台上传等。
复杂性 - 您仍然需要为服务器和客户端编写代码(或购买)。但是,通过选择高质量的软件,您可以减轻您的头痛。
答案 1 :(得分:1)
在大多数情况下来自服务器端。以下是将文件上载到AWS S3时的重要事项。