不刷新浏览器实现文件下载

460 阅读1分钟

下载文件

需求背景

当后端返回一个下载文件的url后,前端端执行下载的操作,使用这种方式下载不会导致刷新URL的情况,代码如下:

const downloadFile = (url: string) => {
    try {
      const elemIF = document.createElement('iframe');
      elemIF.src = url;
      elemIF.style.display = 'none';
      document.body.appendChild(elemIF);
    } catch (e) {
      message.error('下载失败');
    }
  };

代码说明

(1)首先创建一个iframe,并且设置display为none不可见,这样就就不会影响外观。

(2)其次,通过onClick事件掉用这个方法的时候,把URL动态设置给src。