2010-11-24 68 views
0

我已经尝试了从silverlight应用程序上传文件到sharepoint的十几种不同方法。它们要么具有严格的限制(文件大小限制小于1兆左右),要么存在很多安全问题,而这些问题我都无法完成。我曾尝试:在Silverlight应用程序中上传一个大文件到Sharepoint

  • WCF(我们正试图完全不通知你,虽然这是我得到半的工作方法使用任何自定义WCF服务)
  • 的SharePoint Web服务
  • 客户端对象模型
  • HTTP PUT

我已经看到了很多不同的例子在那里的人们写Web客户端做流完全不同的THI但似乎没有任何工作,似乎他们是“老”的做事方式。我在IIS 7上使用silverlight 4,sharepoint 2010。有上传大型文件(比如20-30兆文件)的最佳做法吗?我只想将文件转储到文档库中。

回答

0

我有类似的问题。调整中央管理员的Web应用程序级别设置,改变web.confit中的asp.net限制,以下文章帮助我。

http://blogs.msdn.com/b/sridhara/archive/2010/03/12/uploading-files-using-client-object-model-in-sharepoint-2010.aspx

+0

我已经尝试了提高最大上传大小的方法,它似乎不适用于我。我在这里错过了什么?我发现了第二种方法来增加最大大小,并同时尝试两种方法,然后运行上传,并且仍然收到400错误的请求错误。 – Mark 2010-11-26 14:15:33

+0

他建议的第二种方法(使用save二进制直接方法)效果很好,但在silverlight中不可用。 – Mark 2010-11-26 14:16:25

0

只是有一个想法Silverlight有一个称为HTML桥的东西这使得它能够与页面的互动。考虑从Silverlight调用JavaScript函数,并让javascript函数执行实际上传

更新 - Javascript ClientOM似乎没有SaveBinaryDirect方法:-( 如何做一些ExecuteQueryAsync,然后在成功调用使用Microsoft.SharePoint.Client版本的File?我知道这将需要下载较大的程序集,所以也许这不太好。让客户端在调用Web服务时使用更高效的绑定...

Martin

0

SharePoint客户端对象模型的默认上载大小限制为2 MB。您可以通过修改服务的MaxReceivedMessageSize属性来更改该限制。

这可以通过两种方式来完成:

  • 编程 - 在this link描述 - 寿这将在Silverlight例如

  • 槽PowerShell的不行。在安装了SharePoint的服务器上,启动SharePoint Management Shell(确保在场管理员帐户下运行它)并运行以下命令。

    $ WS = [Microsoft.SharePoint.Administration.SPWebService] :: contentService的 $ ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 52428800

    $ WS。更新()

这会将上传限制更改为52428800字节 - 或50 MB。现在,重新启动托管SharePoint网站(或整个IIS)的网站,以使更改生效。

相关问题