我正在使用 AWS SDK for .NET,并且正在寻找一种让用户直接上传到 s3 存储的方法。
我遇到过 aws 提供的两种不同的方式:
基于浏览器的上传:https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-authentication-HTTPPOST.html
和预签名网址:https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjectPreSignedURLDotNetSDK.html
看来预签名的 url 是“更容易”,因为 aws sdk 中已经存在一种方法来生成要传递给客户端的 url,让他将对象直接放入存储桶(与浏览器上传相比,它似乎也很轻松,因为它不'不需要浏览器在发布表单中上传所需的所有密钥)。
但我想知道为什么实际上有两种不同的方法。每一种的优点和缺点是什么?