1

我已经测试了一个简单的程序来更改课程并再次上传文档。当我使用我的管理员帐户正常使用它时,它可以正常工作,但是当我从非管理员帐户登录时,它不允许我编辑属性。

在此处输入图像描述 在此处输入图像描述

 public void senddoc(String send,String clas){
    System.out.println(send);
    Document docn = Factory.Document.createInstance(os, null);
    InputStream input = null;
    ContentElementList contEleList = Factory.ContentElement.createList();
    ContentTransfer ct = Factory.ContentTransfer.createInstance();
    Folder folder = Factory.Folder.fetchInstance(os,send, null);

    ContentElementList contEleList2 = Factory.ContentElement.createList();
    ContentTransfer ct2 = Factory.ContentTransfer.createInstance();

    contEleList= doc.get_ContentElements();
    ct=(ContentTransfer) contEleList.get(0);
    input = ct.accessContentStream();
    System.out.println(input);

    ct2.setCaptureSource(input);
    ct2.set_ContentType("image/tiff");
    ct2.set_RetrievalName("New File Title");
    contEleList2.add(ct2);

    docn.set_ContentElements(contEleList2);



    Properties properties = doc.getProperties(); 

    String Title = properties.getStringValue("DocumentTitle");
    //read other 

    docn.checkin(AutoClassify.DO_NOT_AUTO_CLASSIFY, CheckinType.MAJOR_VERSION);
    docn.save(RefreshMode.REFRESH);

    ReferentialContainmentRelationship rcr = folder.file(docn,
            AutoUniqueName.AUTO_UNIQUE, "New File Title", 
            DefineSecurityParentage.DO_NOT_DEFINE_SECURITY_PARENTAGE);
    rcr.save(RefreshMode.REFRESH);
    docn.changeClass(clas);
    docn.save(RefreshMode.REFRESH);

    docn.getProperties().putValue("DocumentTitle",Title);
    //input other


    docn.save(RefreshMode.REFRESH);
    rcr.save(RefreshMode.REFRESH);

}

但问题是当我重新上传文档时,它只能由管理员用户编辑,并且原始文档作者部分已被删除。那么我该怎么做才能像原始文档一样进行修改呢?

感谢任何输入。:)

4

1 回答 1

1

经过几次尝试,我发现了问题并解决了它,这可能不是这样做的最佳方式,但这解决了我的问题。我只是将访问权限映射到文档到文档之类的。

docn.set_Permissions(doc.get_Permissions());

我之前尝试过一些批量上传程序(作为 IBM 中的演示代码),但我没有将其添加到其中,但它适用于所有对所有用户都具有正确权限的文档。但在此(服务转换文档类和索引) 我必须映射它。

希望这将帮助任何人面对这个问题。

肿瘤坏死因子

于 2015-01-26T09:46:32.753 回答