3

我创建了一个自定义的 visualforce 页面。在控制器类中,我允许用户创建文件夹。

我希望当用户单击“确定”(自定义按钮)时,新文件夹会在工作区中作为记录发布,但我找不到如何操作。

任何帮助表示赞赏。

4

2 回答 2

5

最后我实现了一种将记录发布到共享工作区的方法:

        ContentVersion doc = new ContentVersion();
        string before = 'Testing base 64 encode'; 
        Blob beforeblob = Blob.valueOf(before);
        doc.Title = title;
        doc.PathOnClient = 'xyz';
        doc.VersionData = beforeblob;
        insert doc;

        doc = [select ContentDocumentId from ContentVersion where id = :doc.id];
        ContentWorkspace shareWorkspace = [select id from ContentWorkspace 
                  where name = :workspaceName limit 1];

        ContentWorkspaceDoc docLink = new ContentWorkspaceDoc();
        docLink.ContentDocumentId = doc.ContentDocumentId;
        docLink.ContentWorkspaceId = shareWorkspace.id;
        insert docLink;

将记录发布到个人工作区:

        ContentVersion doc = new ContentVersion();
        string before = 'Testing base 64 encode'; 
        Blob beforeblob = Blob.valueOf(before);
        doc.Title = title;
        doc.PathOnClient = title;
        doc.VersionData = beforeblob;
        **doc.FirstPublishLocationID = UserInfo.getUserId();**
        insert doc; 

我已经从字符串创建了一个 blob,但我需要创建一个 blob,它可以显示一个表格,其中包含我想要显示的所有信息,例如大小和作者姓名。

感谢保罗的想法。可能有人可以帮助我创建我选择的 blob。

:)

于 2011-07-12T05:38:42.987 回答
2

斯瓦蒂

您需要创建文件夹,然后在插入文件夹后创建一个 ContentWorkspaceDoc 记录链接两者。您可以在此处找到对该对象的 api 引用。这应该允许您设置所需的链接。

保罗

于 2011-07-11T15:58:17.193 回答