2011-04-04 28 views
2

我正在开发一个将文档作为dm_document导入Documentum的DFS应用程序(оnС#)。文档可以采用任何格式 - DOC,DOC,PDF,等等。因此,当我创建一个文档时,我必须指定相应的格式(它将被放入a_content_type中):“gif”,“msw8”等。在DFS中创建文档时如何填充格式(a_content_type)?

我该如何解决此任务?我已经浏览了DFS_66_reference.pdf和DFS-SDK的帮助 - 还没有看到简单的解决方案。你能给我一个建议吗?

回答

0

您是否在问如何将dos扩展名与Documentum格式相匹配?

如果是,最简单的方法就是直接在应用程序中对映射进行硬编码。

在Webtop文件wdk/app.xml中有它使用的映射。

以下是我在我的:

   <format extension="txt" name="crtext"/> 
       <format extension="xls" name="excel8book"/> 
       <format extension="doc" name="msw8"/> 
       <format extension="ppt" name="ppt8"/> 
       <format extension="vsd" name="vsd"/> 
       <format extension="zip" name="zip"/> 
       <format extension="wpd" name="wp8"/> 
       <format extension="psd" name="photoshop6"/> 
       <format extension="au" name="audio"/> 
       <format extension="jpeg" name="jpeg"/> 
       <format extension="jpg" name="jpeg"/> 
       <format extension="html" name="html"/> 
       <format extension="htm" name="html"/> 
       <format extension="ai" name="illustrator10"/> 
+0

嗯,我的问题更广泛 - 我想知道问题的最佳解决方案:如何指定相应的格式,当我的软件[自动,无需询问用户]可以将大量文档导入Documentum。是的,我已经理解你的答案 - 这是我需要的。 – KellyLynch 2011-04-06 07:34:29

+0

我没有看到我建议询问用户的位置。而对于更通用的解决方案,您可以阅读文档库中的dm_format对象......但我并没有真正了解这一点,这些对象几乎不会改变。硬编码映射更简单。 – 2011-04-06 11:51:35

3

我通常做什么大卫建议,凡我期待着遇到的常见格式。这有额外的好处,可以在调试应用程序时给你一个参考。对于其他格式,您可以进行以下查询。

DQL:

SELECT name from dm_format WHERE dos_extension = lower('<extension>') 

请注意,这并不总是可靠的,因为它可以返回一个扩展多个结果(XLS是一个很好的例子),所以你应该决定如何处理多个结果。在这种情况下,您可能需要询问用户。

我建议在应用程序中缓存响应,以免不必要地执行此查询。正如戴维上面所说,除非你改变它们,否则这些值不会改变。

+0

谢谢。另外我可以告诉:原则上可以使用读取文件并通过其内容识别其格式的软件。这种软件的例子是Oracle Outside In组件 - 它可以识别100种格式。但是,这个解决方案当然是昂贵的一个。 – KellyLynch 2011-06-28 06:51:28

+0

@KellyLynch是的,你可以尝试使用其他工具/库来确定类型(使用MIME或其他头文件)。 – 2012-12-14 15:58:22