zoukankan      html  css  js  c++  java
  • 浏览器下载本地数据

    场景:已经拿到了数据,非直接下载,示例为下载csv文件

    ie和非ie下载不同

    ie下载:

    // 当执行如下代码,会生产“文件名字.csv"的文件,csv跟excel是一样的。
    let data = new Blob(['a, b, c, aa, bb, cc'], {type: 'text/csv'}) // Blob转换为二进制数据,类型为text/csv 第一个参数 为换行,逗号为换列。 navigator.msSaveBlob(data, '文件名字.csv')

    非ie

    方式一:
    let a = document.createElement('a') // 创建a标签 a.download = '文件名字.csv' // 下载后文件名字 let data = new Blob(['a, b, c, aa, bb, cc'], {type: 'text/csv'}) a.href = URL.createObjectURL(data) // 转换为url地址 document.body.appendChild(a) // 添加a标签 a.click() // a标签点击

    方式二: 不转换二进制
    let a =document.createElement('a')
    a.download = '文件名字.csv'
    a.href= 'data:text/csv;charset=utf-8,' + encodeURI('a, b, c, aa, bb, cc') // 使用dataUrl:   data:test/csv 其中data为dataUrl的头 text/csv为类型 分号表示第二个参数 逗号过后添加参数。
    document.body.appendChild(a)
    a.click()


    补充: 

    Blob([data], {type: 'application/json'})  其中data是字符串或者arraybuffer,返回blob对象

    reader = new FileReader: reader为读取文件的对象,reader.readAsArrayBuffer(data)  其中data为 file(input.files[x])或者blob

    URL.createObjectURL(blob) 可以将blob 转换为可以使用的url 

  • 相关阅读:
    lintcode-144-交错正负数
    lintcode-143-排颜色 II
    lintcode-142-O(1)时间检测2的幂次
    lintcode-141-x的平方根
    lintcode-138-子数组之和
    postman-----使用CSV和Json文件实现批量接口测试
    postman—创建collection,执行collection和批量执行
    postman-变量
    postman-鉴权
    Postman—cookie
  • 原文地址:https://www.cnblogs.com/gsgs/p/7840330.html
Copyright © 2011-2022 走看看