通过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

posted @ 2010-10-17 18:03  Sunmoonfire  阅读(530)  评论(1编辑  收藏  举报