【问题标题】:JSZip won't load a zip from a base64 string?JSZip 不会从 base64 字符串加载 zip?
【发布时间】:2016-02-05 07:41:50
【问题描述】:

因此,当用户更改页面上的项目时,我尝试将一个小的 JSON 对象写入 URL,并且还允许读取 URL 以让用户从他们离开的地方继续。

我可以使用 JSZip 生成 zip,但我无法弄清楚以后如何从该字符串中打开 zip。这是我正在使用的代码。 zip.file 有元素,但我不知道如何将 base64 字符串读回 zip2 以便能够打开它。

var figures = [{
    "qty": 1,
    "name": "",
    "level": 1,
    "defense": 1,
    "melee": 3,
    "ranged": 1,
    "abilities": [
      "c02","c12","c22","c32","t12"
    ]
  },{
    "qty": 1,
    "name": "",
    "level": 1,
    "defense": 2,
    "melee": 1,
    "ranged": 1,
    "abilities": [
      "c02","c12","c22","c32","t45"
    ]
  },{
    "qty": 1,
    "name": "",
    "level": 4,
    "defense": 1,
    "melee": 1,
    "ranged": 5,
    "abilities": [
      "c01","c14","c23","c35"
    ]
  }]
var zip = new JSZip()
zip.file = figures
var urlString = zip.generate({type:"base64"})
location.href="#"+ urlString
console.log(urlString)
console.log(zip)
var zip2 = new JSZip()
zip2.load(urlString,{"base64": true})
console.log(zip2)

【问题讨论】:

    标签: javascript jszip


    【解决方案1】:

    JSZip 没有使用其实例上的所有属性,您需要使用file() method:

    var zip = new JSZip();
    zip.file("figures.json", JSON.stringify(figures));
    var urlString = zip.generate({type:"base64"});
    
    var zip2 = new JSZip(urlString,{"base64": true});
    console.log(zip2.file("figures.json").asText());
    

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 2016-05-26
      • 2021-09-22
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多