我正在尝试创建一个onClick按钮,以使用预签名网址从S3存储桶下载文件。当我收到我的网址时,问题就来了。我想要一种自动重定向或某种方式。换句话说,在取回已签名的URL后,如何才能对下载文件进行午餐?
onClick事件位于“下载”按钮上。
Redux动作调用我的Node.js路由 api route nodejs
询问预签名的网址,然后将其发送到我的redux reducer。
现在在我的前端页面中,我获得了链接,但是我想自动重定向以开始文件下载。 Part of Component
希望我的第一篇文章不太混乱。
答案 0 :(得分:0)
我通过redux动作解决了我的问题。一键式调用我的操作,操作者将返回我的预签名URL,然后自动单击链接。当我将其上传到S3时,会触发具有原始文件名的下载事件。
export const downDoc = (docId) => async dispatch => {
const res = await axios({ url: 'myApiCall', method: 'GET', responseType: 'blob' })
.then((response) => {
console.log(response)
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', `${docId.originalName}`);
document.body.appendChild(link);
link.click();
});