Google Script - Распаковка приложения Mimetype / x-zip - PullRequest
0 голосов
/ 01 октября 2018

Я регулярно скачиваю файл .zip (который я не создал), который является Mimetype "application / x-zip", который не обрабатывается Utilities.unzip (файл) со следующими ошибками.Я надеюсь, что кто-то может помочь мне разобрать этот файл.

Спасибо.

var thisFile = DriveApp.getFileById(newestFileId);  
   //Successfully gets the file as verified by other processes
var thisBlob = thisFile.getBlob();
var createMe = thisFolder.createFile("workingb.zip", thisBlob, "application/zip");  
   //Creates a 4-byte file with the text "Blob"
var createMe = thisFolder.createFile("workingf.zip", thisFile, "application/zip");  
   //Creates an 11-byte file with the text the same as the filename.ext
Logger.log(thisFile.getMimeType());  
   // "application/x-zip"
 var test1 = thisFile.getAs("application/zip");  
   //Exception: Converting from application/x-zip to application/zip is not supported
var thisUnzip = Utilities.unzip(test1); 
   //Exception: Invalid argument 

1 Ответ

0 голосов
/ 01 октября 2018

Как насчет этой модификации?Я думаю, что для вашей ситуации есть 2 шаблона:

Шаблон 1:

Если расширение имени файла .zip, как насчет этой модификации?

Модифицированный скрипт:
var thisFile = DriveApp.getFileById(newestFileId);
var thisBlob = thisFile.getBlob();
var convertedBlob = thisBlob.setContentTypeFromExtension();
var thisUnzip = Utilities.unzip(convertedBlob);

Шаблон 2:

Если имя файла не имеет расширения или расширение является значением, кроме .zip, как насчет этой модификации?

Модифицированный скрипт:
var thisFile = DriveApp.getFileById(newestFileId);  
var thisBlob = thisFile.getBlob();
var convertedBlob = thisBlob.setContentType("application/zip");
var thisUnzip = Utilities.unzip(convertedBlob);

Ссылки:

Если это не то, что вы хотите,Прости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...