1

我试图使用以下代码在 Salesforce 闪电中创建和插入 ContentVersion 对象(用于文件上传):

        ContentVersion v = new ContentVersion();
        v.versionData = EncodingUtil.base64Decode(content);
        v.title = fileName;
        v.pathOnClient = fileName;
        insert v;

这适用于较小的文件。但是当我尝试加载一个只有 750KB 的文件时,上述操作失败(实际允许的大小可能会更小)。如果可以使用上述代码上传的文件,大小是否有限制?

4

1 回答 1

0

根据来自Salesforce StackExchange的类似问题。


基础闪电组件注意事项

使用 type="file" 时,您必须提供自己的服务器端逻辑以将文件上传到 Salesforce。[...] 使用此组件上传文件需要遵守 Apex 控制器的常规限制,即 1 MB。为了适应由于 base64 编码而导致的文件大小增加,我们建议您将最大文件大小设置为 750 KB。您必须为大于 1 MB 的文件实施分块。通过分块上传的文件的大小限制为 4 MB。

Base64 正在推动文件大小超过最大 HTTP POST 表单大小——表单限制中所有键和值的大小限制为 1 MB。或者至少这似乎是适用的限制。

相反,您需要使用如何构建 Lightning 文件上传器组件中使用的嵌入 Visualforce 页面。这将使您达到使用10 MB 的 Visualforce 页面限制上传的文件的最大文件大小。请记住在堆大小限制赶上您之前将文件处理保持在最低限度。

于 2017-07-26T22:34:13.960 回答