我有一堆公共资产,我想压缩并提供下载。
Play中有没有简单的方法!为文件/文件夹列表创建一个 zip?
我想你总是可以使用 Java 库。有关详细信息,请参阅JavaDocs
play war "project_dir" -o "war_file_name" --zip
注意:我使用的是 Play-1.2.3
您可以使用 Play 助手类 Files.zip
在控制器中使用这个:
public class Public extends Controller {
public static void download() {
File dir = VirtualFile.fromRelativePath("/dir-to-zip/").getRealFile();
File zip = VirtualFile.fromRelativePath("/files.zip").getRealFile();
Files.zip(dir, zip);
renderBinary(zip);
}
}
然后将其添加到您的路线文件中:
* /download Public.download
请注意,文件路径来自您的应用程序根目录,而不是您的文件系统根目录。