【问题标题】:How to replace URL.createObjectURL() for blob cases如何为 blob 案例替换 URL.createObjectURL()
【发布时间】:2022-01-28 00:40:03
【问题描述】:

我有以下功能并使用已弃用的 URL.createObjectURL() 方法:

const downloadExceptionFile = async () => {
    const resp = await getExceptionFile();

    const link = document.createElement('a');
    link.setAttribute('download', 'excecoes.xlsx');
    link.href = URL.createObjectURL(new Blob([resp.data]));
    document.body.appendChild(link);
    link.click();
    link.remove();
  };

我正在使用 react,我尝试使用 HTMLMediaElement.srcObject 文档中推荐的 this.srcObject this.src,但是,我的脸上出现了一个未定义的错误。

我如何替换URL.createObjectURL(),因为这种方法已被弃用?

【问题讨论】:

  • “我的脸上出现了一个未定义的错误”并不能真正帮助我们帮助您。
  • 无论哪种方式,您从哪里获得createObjectURL 将被弃用的信息? MDN doesn't seem to indicate that.
  • @AKX 在您发送的同一个链接中,有一个黄色警告即将替换此方法,并且在页面末尾有一个标志表明它已被弃用。
  • 是的,那个黄色框说“将流附加到媒体元素”——但这不是你在做的,你在做一个下载链接。

标签: javascript html reactjs


【解决方案1】:

长话短说:

因为URL.createObjectURL() is not deprecated,您不需要更改该代码。

创建对象 URL 以附加到媒体元素(例如 <video>)的具体用例是,为此您应该改用 .srcObject

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 2020-08-01
    • 2021-05-27
    • 1970-01-01
    • 2020-06-03
    • 2019-06-15
    • 1970-01-01
    • 2019-10-30
    相关资源
    最近更新 更多