Salesforce中ContentVersion对象的大小限制

时间:2017-07-25 17:40:19

标签: file-upload salesforce salesforce-lightning

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

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

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

1 个答案:

答案 0 :(得分:0)

根据Salesforce StackExchange的类似问题。

来自Base Lightning Components Considerations

  

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

Base64正在推动文件大小超过1 MB的Maximum HTTP POST form size—the size of all keys and values in the form限制。或者至少这似乎是适用的限制。

相反,您需要使用How to Build a Lightning File Uploader Component中使用的嵌入式Visualforce页面。这可以使您达到Maximum file size for a file uploaded using a Visualforce page 10 MB的限制。只需记住在堆大小限制赶上之前将文件处理保持在最低限度。