Google Apps脚本:文件夹树的Zip

jj-*_*cas 4 google-sheets google-apps-script

我从如何从Blob数组创建一个zip,但是在某种程度上可以在zip本身中定义一个文件夹结构吗?

例如.. archive/img/file1.jpg

jpf*_*342 5

是的,虽然不是很明显.

首先,要明白,是很重要的Blob在谷歌应用程序脚本对象是不是JavaScript的正常一点不同的Blob对象.最重要的区别是它们有一个名称,API的许多部分都使用此名称.(包括Utilities.zip())

Utilities.zip()将blob上的名称视为路径名,因此您可以通过包含斜杠来构建整个层次结构:

//Create a test blob
var blob = Utilities.newBlob("My Data");
blob.setName("foo/bar.txt");
//Should be a zip containing a folder named "foo", which contains a file named "bar.txt", which has the contents "My Data"
var zipBlob = Utilities.zip([blob], "test.zip");
Run Code Online (Sandbox Code Playgroud)