Javascript 如何使用AWS Cognito使用ng文件上载进行上载?
我已经为Angular应用程序安装了AWS Cognito,我正在尝试将Javascript 如何使用AWS Cognito使用ng文件上载进行上载?,javascript,angularjs,amazon-s3,amazon-cognito,ng-file-upload,Javascript,Angularjs,Amazon S3,Amazon Cognito,Ng File Upload,我已经为Angular应用程序安装了AWS Cognito,我正在尝试将s3.putObject的一些方法挂接到ng文件上传upload服务中 我想使用ng file upload的upload.upload()方法,但我不知道如何使用现有的与Cognito的身份验证连接。其想法是使用ng file upload的拖放,然后上传将使用现有的Cognoto连接上传到s3。我该怎么做?我之所以要使用ng file upload的upload.upload()方法,是为了帮助保留一些功能,如进度条(如
s3.putObject
的一些方法挂接到ng文件上传upload
服务中
我想使用ng file upload的
upload.upload()
方法,但我不知道如何使用现有的与Cognito的身份验证连接。其想法是使用ng file upload的拖放,然后上传将使用现有的Cognoto连接上传到s3。我该怎么做?我之所以要使用ng file upload的upload.upload()
方法,是为了帮助保留一些功能,如进度条(如果不正确,请纠正我)。我假设您正试图在单页应用程序中直接从客户端上传到S3 bucket。如果是这样,您可以先对S3URL进行预签名,然后在ng文件上载中尝试使用它。预签名的URL允许您向可能没有直接访问权的其他用户授予一次性访问权,以执行操作。预签名生成使用您的凭据签名的有效URL,任何用户都可以访问该URL。默认情况下,SDK生成的URL在15分钟后过期
要生成一个简单的预签名URL,允许任何用户将对象放入您自己的bucket中,您可以使用以下对getSignedUrl()的调用:
有关获取预签名URL的更多信息,请参阅此wiki并查阅ng文件上载文档
//Initialize the SDK with Cognito Credentials
var s3 = new AWS.S3();
var params = {Bucket: 'myBucket', Key: 'myKey'};
var url = s3.getSignedUrl('putObject', params);
console.log("Use this url in ng-file-upload", url);