Salesforce中仅使用Apex进行打包下载多个附件

在这篇文章的两年前,我曾经共享过一篇关于 如何Salesforce中用Apex+JSZip打包下载多个附件 的文章,最近发现有一个更简单的方式实现,仅仅使用”Zippex” ( view on Github )这个Apex类库即可。

以下是我本篇文章示例代码的处理概要:

1. 从特定的对象Id中查询获取关联的附件列表。
2. 用Zippex进行压缩全部附件文件。
3. 将Zip文件的Blob数据保存进Document中。
4. 转向到Document下载链接,利用Salesforce的下载功能进行文件的下载。

Let’s get started.

准备附件文件

在指定的客户中上传两个附件文件。e.g. apex PDF.pdf 与 apex Word.docx.

Account

Zippex类库的导入

将Zippex类库代码( view on Github)上传到Salesforce组织环境中进行编译。

示例类文件与VF页面的添加

ApexZipSampleController.cls

ApexZipSample.page

试着下载试试,看起来一切都很正常。: )

Apex zip sample page
apex-zip-sample
以上所有的代码也可以在我的Github代码库 (这里) 中下载到。

One more thing :

在决定在项目中使用这个类库之前,请确保你已经测试过了最大文件数与最大文件的Case,因为有可能会发生Apex CPU Governor错误。

Enjoy It!