【问题标题】:Error while updating VersionData field of ContentVersion object更新 ContentVersion 对象的 VersionData 字段时出错
【发布时间】:2017-11-10 15:03:48
【问题描述】:

当我更新 contentversion 对象的 versiondata 字段时,它会抛出这个错误: IsMajorVersion 为 true 时不能设置 VersionData。:[]

但是 IsMajorVersion 字段也是不可写的。

有没有人知道如何更新 contentversion 的 versiondata 字段?或者有什么解决方法? 以前我能够更新此字段,但不幸的是它现在无法正常工作。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: salesforce visualforce apex


    【解决方案1】:

    我遇到了同样的问题。 我的解决方案是首先从salesforce apex 创建文件,将majorversion 设置为false,然后进行更新。

    这是一个编写 TEXT 文件的示例 请记住,如果它不是文本(例如,如果它是 PDF),那么您给它的字符串必须是 b64 编码的

     public string write_file(string filename, string file_txt){
        ContentVersion f = new ContentVersion();
        list <ContentVersion> flist = 
            [select id, title, ContentSize, PathOnClient, VersionData 
            from ContentVersion
            where title = : filename
            and FileExtension = 'txt' 
            and isMajorVersion = false 
    
            limit 1
            ];
        if ( flist.size() > 0 ){
            f = flist[0];
            f.VersionData = blob.valueOf(file_txt);
            update f;
        }else{
            f.title = filename;
            f.PathOnClient = filename + '.txt';
            f.VersionData = blob.valueOf(file_txt);
            f.IsMajorVersion = false;
        insert f;
        }    
        return('OK');
        } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2016-05-10
      • 2019-02-05
      • 2018-06-09
      • 1970-01-01
      相关资源
      最近更新 更多