2016-02-05 131 views
0

所以我试图写一个小的JSON对象到URL作为用户更改页面上的项目,并且还允许读取URL以让用户选择他们离开的地方。JSZip不会从base64字符串加载zip文件?

我能够用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) 

回答

0

,您需要使用file()method JSZip不使用它的实例的全部属性:

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()); 
相关问题