我在我的Meteor應用程序中遇到了一個錯誤。我想要做的是從github獲得一個版本資產文件,並將其解壓縮。我能夠從標準瀏覽器下載它。從Github資產下載Meteor文件時出錯API
我的Meteor請求的結果包含一個緩衝區,如果我願意,我可以保存爲二進制文件,但與我從瀏覽器獲得的二進制文件不同(我將每個文件的十六進制代碼進行比較,甚至大小不一樣)。
當我試圖打開通過Meteor下載的存檔文件(使用windows zip程序或使用JSZip)時,它告訴我該文件已損壞。
這裏是我用來下載文件的代碼:
HTTP.call('GET',asset.url,{ // asset.url is a valid one
params:{
'access_token':token
},
headers: {
'Accept':"application/octet-stream",
'User-Agent':"My app",
}
},function(error, result) {
if(error)console.log(error);
else{
console.log('file downloaded !');
var app_archive = new JSZip(); // I'm using JSZip for decompressing the stream
app_archive.load(new Buffer(result)); // fail here
package_file = app_archive.file('package.json');
console.log(package_file);
}
});
,這裏是流星控制檯輸出:
=> Meteor server restarted
I20160313-16:56:43.975(-5)? file created !
I20160313-16:56:44.105(-5)? Exception in callback of async function: Error: Corr
upted zip : can't find end of central directory
I20160313-16:56:44.106(-5)? at Object.ZipEntries.readEndOfCentral (C:\Users\
jimmy\AppData\Local\.meteor\packages\udondan_jszip\2.4.0_1\npm\node_modules\jszi
p\lib\zipEntries.js:135:19)
I20160313-16:56:44.108(-5)? at Object.ZipEntries.load (C:\Users\jimmy\AppDat
a\Local\.meteor\packages\udondan_jszip\2.4.0_1\npm\node_modules\jszip\lib\zipEnt
ries.js:197:14)
I20160313-16:56:44.114(-5)? at Object.ZipEntries (C:\Users\jimmy\AppData\Loc
al\.meteor\packages\udondan_jszip\2.4.0_1\npm\node_modules\jszip\lib\zipEntries.
js:21:14)
I20160313-16:56:44.116(-5)? at Object.module.exports [as load] (C:\Users\jim
my\AppData\Local\.meteor\packages\udondan_jszip\2.4.0_1\npm\node_modules\jszip\l
ib\load.js:11:18)
I20160313-16:56:44.117(-5)? at server/FabMo-App-Store.js:122:19
I20160313-16:56:44.119(-5)? at runWithEnvironment (packages/meteor/dynamics_
nodejs.js:110:1)
我認爲這可能與編碼的問題,但我嘗試幾乎所有編碼格式都沒有成功。我願意接受任何建議。
它沒有工作,apearred的其他錯誤信息:「意外文件結尾「... – jlucidar