我有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
});