桌面应用程序/脚本与Web应用程序上的javascript交互

时间:2011-06-01 19:53:54

标签: java javascript web-services web-applications

我的工作使我负责确定将现有的内部构建的变更管理服务(基于Web)迁移到Sharepoint解决方案的可行性。我发现一切都很简单,除了我遇到的问题是,对于每个变更管理问题(几千个),可能有任意数量的附件文件,通过javascript调用,需要下载并放入文档库。

(例如... onClick =“DownloadAttachment(XXXXX,'ProjectID = YYYY');返回false”>附件......)。

为了防止我手动选择它们,我一直在寻找想要做类似的人的帖子,似乎有很多可能的解决方案,但它们看起来往往比它们需要的更复杂。

所以我想简而言之,我想问什么是解决这个问题的最好方法,它会产生某种可以与网页交互的桌面应用程序或脚本,并让我选择和组织所有附件。 (制作一个纯粹的基于网络的应用程序(php,javascript,rails等)对我来说不是一个选项,所以现在把它扔出去。)

提前致谢。

3 个答案:

答案 0 :(得分:1)

  1. 给定文档ID和项目ID, 分别为XXXXXYYYY 你的例子,找出URL 从中可以获得文件内容 下载。你可以观察一些 浏览器中的URL链接和检测 你的网络模式 应用程序使用

  2. 使用像Selenium这样的工具来获取 XXXXXYYYY的列表 您需要下载的文件。

  3. 用wget写一个bash脚本 在本地下载文件并放入 在正确的文件夹中。

答案 1 :(得分:0)

这是一次“一次性”迁移,对吧?

  1. 获取对内部应用程序数据库的访问权限,并创建一个SQL查询,该查询会提取显示附件名称(XXXXX?)和问题/项目(YYYY?)的行,例如:

    |file_id|issue_id|file_name           |  
    |      5|     123|Feasibility Test.xls|
    
  2. 分析DownloadAttachment方法并弄清楚它如何生成每次下载时调用的网址。

  3. 启动一个脚本(我个人会选择Python)来完成迁移工作。
  4. 编写脚本以连接并运行SQL查询,或者可以读取您从步骤1手动创建的CSV文件。
  5. 编写脚本以使用详细信息来确定目标文件名和要下载的URL。
  6. 编写脚本以从给定的URL下载文件,并将其放在具有正确名称的硬盘驱动器上。 (在Python中,您可以使用urllib。)
  7. 希望这会让你得到一堆按“问题”分类的文件:

    issue123/Feasibility Test.xls
    issue123/Billing Invoice.doc
    issue456/Feasibility Test.xls
    

答案 2 :(得分:0)

谢谢大家。我能够得到我需要的东西,使用htmlunit和java来遍历我用附件制作的所有更改项目的报告,转到每个,复制源代码,遍历它以查找下载方法的实例,并复制唯一ID每个附件并构建一个.xls的所有项目及其附件。