按文件夹ID查找子文件夹并读取ELO中的文件

时间:2017-03-10 07:41:03

标签: c#

这应该在C#

中完成

我的ELO层次结构如下所示。 enter image description here

文件夹FOLDER2包含文本文档。搜索此内容并返回对象ID。从这里我得到了FOLDER2的对象ID“1234”。 enter image description here

现在文件夹中有TEXTFILES我要下载的重要文本文件。 enter image description here

现在我的问题是,如果我有FOLDER2的对象ID,我怎样才能找出文件夹TEXTFILES的哪个对象ID读出所有数据或将其下载到那里?

EditInfo ed = conn.Ix.checkoutDoc(pObjID, pDocID, EditInfoC.mbDocument, LockC.NO);
                DocVersion dv = ed.document.docs[0];
                String outFile = System.IO.Path.GetTempFileName() + "." + dv.ext;
                conn.Download(dv.url, outFile);
                String url = dv.url;

以下是有关如何下载文件的代码。有方法dv.relativeFilePathdv.physPath所以我可以阅读最终路径只需ELO / FOLDER1 / FOLDER2 / TEXTFILES 可以附加到下载文件的路径

1 个答案:

答案 0 :(得分:2)

我无法在您的ELO API上找到任何官方公开文档。我甚至不确定ELO代表什么,除了有一个"索引服务器编程指南" https://www.elo.com/wcm/en/service/elo-e-books提供的电子书如果您能提供这样的链接,我们(SO社区)可能会更好地回答您的问题。

我发现的唯一与您的短代码示例匹配的API参考是在http://datigapowa.free.fr/javadoc8.00.036/发布的Java API(非常规)。我假设C#API与那里描述的Java非常相似,看起来conn.Ix的类型与IXServicePortIF类相匹配,如http://datigapowa.free.fr/javadoc8.00.036/de/elo/ix/client/IXServicePortIF.html所述。至少根据http://datigapowa.free.fr/javadoc8.00.036/index-all.html,这是唯一具有checkoutDoc(ClientInfo, String, String, EditInfoZ, LockZ)方法的类。

因此,在查看IXServicePortIF时,您可能会发现有趣的方法findFirstSords(ClientInfo ci, FindInfo findInfo, int max, SordZ sordZ)findNextSords(ClientInfo ci, java.lang.String searchId, int idx, int max, SordZ sordZ)和神秘的processFindResult(ClientInfo ci, java.lang.String searchId, ProcessInfo procInfo)findFirstSords接受FindInfo类的参数,该参数的参数为​​FindChildren类,它似乎负责搜索文件夹。

另一方面,findFirstSords的返回值为FindResult,其中包含

  • 普通字符串ids
  • 的集合
  • Sord的集合,其中包含一些潜在的兴趣和#34; ID"例如iddoc

其中一些可能就是你所需要的。

另请注意"另见" findFirstSords文档的一部分引用了一些示例,包括名为FindChildren.cs.txt

的C#

希望这有帮助。