zoukankan      html  css  js  c++  java
  • 使用 javascript API -- fetch 实现文件下载功能

    在fetch中第一个为请求地址,第二个可以设置请求类型POST,GET,DELETE,UPDATE,PATCH和PUT,随后可以使用then来接收参数,因为异步操作第一个then标明请求类型,第二个then中可以拿到正确的返回值,catch显示返回错误信息。

    fetch('https://XXX', { method: 'POST', body: JSON.stringify({ username: 'admin', password: '*****' }), headers: { 'Content-Type': 'application/json;charset=utf-8' } }).then(response => response.json()).then(data => console.log(data)).catch(err => console.log(err)); fetch("https://api.github.com/users") .then((res) => { return res.json(); console.log(res) }) .then(data => { console.log(data); }) .catch(err => console.log(err));

    下载写法
         fetch(url).then(async res => await res.blob()).then(
                (blob) => {
                    console.log(blob);
                    // 创建隐藏的可下载链接
                    const a = document.createElement('a');
                    a.style.display = 'none';
                    a.href = URL.createObjectURL(blob);
                    // 保存下来的文件名
                    a.download = filename;
                    document.body.appendChild(a);
                    a.click();
                    // 移除元素
                    document.body.removeChild(a);
        window.URL.revokeObjectURL(url);
                }
            )
     
  • 相关阅读:
    java表达式, 语句, 块(翻译自Java Tutorials)
    java控制流语句(翻译自Java Tutorials)
    你可以将使用搬到ubuntu上
    python进阶学习笔记(三)
    译:selenium webdriver (python)
    异步调用轻量级封装AsynCaller
    企业开发基础设施--事件通知服务(Remoting双向通信)
    企业开发基础设施--序
    关于跨程序集的反射
    异常处理经验谈
  • 原文地址:https://www.cnblogs.com/kyooo/p/13608006.html
Copyright © 2011-2022 走看看