【发布时间】:2018-02-16 01:04:03
【问题描述】:
这是this thread的后续行动。
我正在尝试使用@July.Tech 那里提供的代码,但我不断收到未知压缩方法 错误或不正确的标头检查 错误。当使用两种不同的 gzip 方法中的任何一种来创建压缩文件时,就会出现错误,因此我认为该文件已正确 gzip 压缩。
有什么建议吗? (我的输入文件是 gzip 压缩的,所以我不能使用 Utilities.unzip()。)
这是完整的代码:
reports_folder_id = 'xxxxx'; //id of folder where gzipped csv reports are saved
report_name = 'xxxxxx.gz'; // name of gzipped CSV file
function importData() {
var fSource = DriveApp.getFolderById(reports_folder_id);
var fi = fSource.getFilesByName(report_name); // latest report file
eval(UrlFetchApp.fetch('https://cdn.rawgit.com/nodeca/pako/master/dist/pako.js').getContentText());
if ( fi.hasNext() ) { // proceed if report_name file exists in the reports folder
var file = fi.next();
var charData = file.getBlob().getDataAsString(); // same error if .getBytes() is used
var binData = [];
for (var i = 0; i < charData.length; i++) {
binData.push(charData[i] < 0 ? charData[i] + 256 : charData[i]);
}
var data = pako.ungzip(binData); // I get same error for pako.inflate(binData);
var decoded = '';
for (var i = 0; i < data.length; i++) {
decoded += String.fromCharCode(data[i]);
}
}
}
如果没有解决上述问题的建议,关于如何以编程方式解压缩 gDrive 文件的任何想法?
谢谢。
【问题讨论】:
标签: google-apps-script google-drive-api gzip