我已经尝试了从silverlight应用程序上传文件到sharepoint的十几种不同方法。它们要么具有严重的限制(文件大小限制小于1兆字节左右),要么是许多我无法解决的安全问题。我试过了:
我看到很多不同的例子,人们做了完全不同的事情,但似乎都没有工作,似乎他们都是“旧的”做事方式。我在IIS 7上使用silverlight 4,sharepoint 2010.是否有上传大型(比如20-30 meg)文件的最佳做法?我只想将文件转储到文档库中。
答案 0 :(得分:0)
我有类似的问题。从中央管理员调整Web应用程序级别设置,更改web.confit中的asp.net限制以及下面的文章帮助了我。
答案 1 :(得分:0)
刚想到Silverlight有一个名为HTML Bridge的东西,它允许它与页面的其余部分进行交互。考虑从Silverlight调用javascript函数,让javascript函数执行实际上传
更新 - Javascript ClientOM似乎没有SaveBinaryDirect方法:-( 如何使用Microsoft.SharePoint.Client版本的File做一些ExecuteQueryAsync然后在成功回调函数(不再在UI线程上)?我知道这需要下载更大的组件,所以也许这不太好。
我想知道在调用Web服务时是否有办法让clientOM使用更高效的绑定...
马丁
答案 2 :(得分:0)
SharePoint客户端对象模型的默认上载大小限制为2 MB。您可以通过修改服务的MaxReceivedMessageSize
属性来更改该限制。
这可以通过两种方式完成:
以编程方式编写 - 如this link中所述 - 例如,这在Silverlight中无法工作
通过powershell。在安装了SharePoint的服务器上,启动SharePoint Management Shell(确保在服务器场管理员帐户下运行它)并运行以下命令。
$ ws = [Microsoft.SharePoint.Administration.SPWebService] :: ContentService $ ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 52428800
$ ws.Update()
这会将上传限制更改为52428800字节 - 或50 MB。现在,重新启动托管SharePoint站点(或整个IIS)的网站,以使更改生效。