2010-11-24 74 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)的網站,以使更改生效。

相關問題