我有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);
但是当调用此函数时,它只是在新的浏览器选项卡中打开文档。我希望它实际上是从浏览器下载文件。 有什么想法为什么这行不通吗?
谢谢
答案 0 :(得分:0)
从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
});