如何从s3 bucket url Angular下载文件



我有url,不想投入工作来获取文件数据或blob。这就是我现在要做的。

const url = 'https://s3-us-west-1.amazonaws.com/....';
const a: any = document.createElement('a');
a.href = url;
a.download = doc.name;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

但当调用这个函数时,它只会在新的浏览器选项卡中打开文档。我希望它能从浏览器中下载文件。有什么想法为什么不起作用吗?

谢谢,

从npm安装aws-sdk包。

npm i aws-sdk --save

使用此代码将您的下载功能放入成功响应中

import { config, SecretsManager, S3 , CognitoIdentityCredentials} from 'aws-sdk';
const bucket = new S3({
accessKeyId: <accessKeyId>,
secretAccessKey: <secretAccessKey>,
region: <region>
});
const params = {        
Bucket: <BucketName>,
Key: <fileName>,
};
bucket.getObject(params, (err:any, data:any) =>{
if (err) {
// shows AWS s3 error
}else{
// response of binary data 
// use your download function here
}
}).on('httpDownloadProgress',(progress) => {     
// shows file download progress
});

最新更新