通过SharePoint 2010中的Silverlight 客户端对象模型上传文档
前面我们介绍了如何通过silverlight客户端对象模型从文档库中获取文档。本例中你将会学到如何使用相同的silverlight客户端对象模型在SharePoint 2010中上传一个文档至文档库。
private void uploadFiles(string fileName, byte[] fileContent) -> pass the filename and byte stream { ClientContext cnt = ClientContext.Current; listForUpload = cnt.Web.Lists.GetByTitle(“LibName”); -> your Document library name this.Dispatcher.BeginInvoke(delegate() { cnt.Load(listForUpload); cnt.Load(listForUpload.RootFolder); cnt.Load(listForUpload.RootFolder.Files); cnt.ExecuteQueryAsync(succeedUploadFileListner, failureUploadFileListner); }); } private void succeedUploadFileListner(object sender, ClientRequestSucceededEventArgs e) { Microsoft.SharePoint.Client.File file1 = listForUpload.RootFolder.Files[0]; this.Dispatcher.BeginInvoke(delegate() { byte[] dataArray = allFiles[lstFiles.Items[0].ToString()]; FileCreationInformation file = new Microsoft.SharePoint.Client.FileCreationInformation(); file.Content = dataArray; file.Overwrite = true; file.Url = lstFiles.Items[0].ToString(); listForUpload.RootFolder.Files.Add(file); listForUpload.Update(); ClientContext.Current.ExecuteQueryAsync(s1, f1); }); } private void s1(object sender, ClientRequestSucceededEventArgs e) { this.Dispatcher.BeginInvoke(delegate() { MessageBox.Show(“File Uploaded”); }); } private void f1(object sender, ClientRequestFailedEventArgs e) { this.Dispatcher.BeginInvoke(delegate() { if (string.IsNullOrEmpty(e.Message)) { MessageBox.Show(e.Exception.InnerException.Message); } else { MessageBox.Show(e.Message); } });}
参考资料
Upload document silverlight client object model sharepoint 2010