如何在谷歌应用程序脚本中解压缩 .ZIP mime 类型(应用程序/x-zip 压缩)

时间:2021-04-13 12:20:17

标签: google-apps-script google-drive-api mime-types unzip

我有以下问题,我正在开发一个过程来解压缩和验证谷歌驱动器文件夹中 .zip 中的文件,问题是这些 .zip 的类型是 Mime (application / x-zip-压缩) 并且方法 ** unzip ** 似乎无法识别这种类型的 Mime,因为 (application / zip) 确实可以正常工作。

我附上了示例代码:

function unZipIt() {
  var theFolder = DriveApp.getFolderById('Id de la carpeta')
  var fileBlob = theFile.next().getBlob()

  fileBlob.setContentType("application/x-zip-compressed")

  var unZippedfile = Utilities.unzip(fileBlob)
Logger.log(unZippedfile);
  }

在行 var unZippedfile = Utilities.unzip (fileBlob) 中抛出的异常如下:

**Exception: Converting from application/x-zip-compressed to application/zip is not supported.**

我的问题是:如何解压或迭代这些 Zip 中的文件类型为 Mime: ** application / x-zip-compressed ** 或者如何转换为 ** application / zip **?

注意:如果文笔不好,请见谅,我正在使用翻译器。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用@Tanaike 建议的方法 setContentTypeFromExtension

var thisFile = DriveApp.getFileById(newestFileId);
var thisBlob = thisFile.getBlob();
var convertedBlob = thisBlob.setContentTypeFromExtension();
var thisUnzip = Utilities.unzip(convertedBlob);