0

我正在尝试创建一个将处理存储在主机网站集上的文档的SharePoint 2013在线应用程序。从SharePoint 2013在线应用程序主机站点外部处理文档

我能够使用jQuery ajax从主机网站集合中检索文件,并且我接收它的格式看起来像是一个字节流(jQuery似乎以字符串形式存储,至少数据是被我用来调试的浏览器解释为一个字符串)。

我的结论是,我应该将接收到的文件发送到WCF应用程序,以便使用C#将流写入文件(在WCF服务的文件系统上),然后提取生成的文件的内容。但是,生成的文件已损坏。我的假设是,在过程中某处(SharePoint主机到应用程序或应用程序到WCF应用程序的jQuery)原始数据已损坏。

我的问题是:

  • 这是使用一个应用程序或
    有提取的文件上
    主机网站的内容的简单的方法处理文档的最简单的方法?
  • 假设我目前的方法是最好的方法,有什么办法来防止我遇到的文件损坏?

任何援助将不胜感激。

回答

1

好的,'这是最简单的方法'是一个非常主观的话题,现在应该避免,因为它听起来像是你90%的想要成为的地方。

由于字节流已被编码为字符串,因此您的文件损坏问题可能与base64编码问题一样简单。 (或者你的字节流不是你所期待的文件)如果你发布了用于解码字符串本身的流的代码,我们可以快速提供帮助。

在这种情况下,它似乎是一个腐败,我使用fiddler捕获原始响应,然后在linqpad或单元测试中解码它。那么你可以确定它是否是一个腐败或者如果你有错误的文件。通过错误的文件,我的意思是你可能在你的字节流中有一个html错误页面,而不是你期望的文档。

返回最简单的方法...听起来就像您想在主机列表上显示一个工作流程。如果你有很多网站需要这样做或需要处理大量文档,那么你可能需要一个WCF服务来处理这个问题,这是一个额外的维护和管理开销,你可能不希望这样做,例如该服务将在哪里托管。

同样,非常主观,因为您的'处理'逻辑可能更容易在不同的框架或语言中表达。 LightSwitch HTML Client应用程序也可能是一个有趣的地方,自动托管应用程序为您提供服务后端和托管应用程序的方法,以便您可以在客户端上使用ajax将文档发送到后端服务并执行您的逻辑在C#中。我实际上已经部署了非常像这样的解决方案,部署到生产的速度非常快。

但调查的名单接收器选项的工作流程,如果你并不需要一个UI或者只有有限的用户界面,以确定哪些文档以及何时处理这些

+0

原来它只是在HTTP请求中的严重构建头。提琴手确实帮助明确了这一点。谢谢。 我从未尝试完成最后10%的工作流程,他们没有时间检查其他选项。 – FourOFour

相关问题