当我更新contentversion对象的versiondata字段时,它会抛出此错误: 当IsMajorVersion为true时,您无法设置VersionData:[]
但IsMajorVersion字段也不可写。
有没有人有任何关于如何更新contentversion的versiondata字段的解决方案?或者任何解决方法? Previsouly我能够更新这个字段,但遗憾的是它现在无法正常工作。
非常感谢任何帮助。
由于
答案 0 :(得分:0)
我遇到了同样的问题。 我的解决方案是首先从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');
}