使用SharePoint 2010 客…
来源:互联网 发布:淘宝店卖家页面图片 编辑:程序博客网 时间:2024/04/30 11:59
- Client ObjectModel是SharePoint 2010对开发提供新的支持。我前两周在给一个客户做POC,主要内容是将SharePoint 2010作为一个纯内容管理平台,并隐藏起来不给最终用户看到,最终用户通过原有平台进行文档的增删查改操作。这些都是用默认的认证方式,认证及权限代码没有包含在内。以下是我截取其中的一些代码。 return "CreateSuccess";
}
private byte[] ReadFully(Stream stream, int initialLength)
{
// If we've been passed an unhelpful initial length, just
// use 32K.
if (initialLength <</span> 1)
{
initialLength = 32768;
}
byte[] buffer = new byte[initialLength];
int read = 0;
int chunk;
while ((chunk = stream.Read(buffer, read, buffer.Length - read)) > 0)
{
read += chunk;
// If we've reached the end of our buffer, check to see if there's
// any more information
if (read == buffer.Length)
{
int nextByte = stream.ReadByte();
// End of stream? If so, we're done
if (nextByte == -1)
{
return buffer;
}
byte[] newBuffer = new byte[buffer.Length * 2];
Array.Copy(buffer, newBuffer, buffer.Length);
newBuffer[read] = ( byte)nextByte;
buffer = newBuffer;
read ++;
}
}
byte[] ret = new byte[read];
Array.Copy(buffer, ret, read);
return ret;
}
在SharePoint 2010中创建文档库
public string CreateDocumentLibrary( string siteUrl, string DocumentLibraryName, string userName)
{
ListCreationInformation newListInfo = new ListCreationInformation();
newListInfo.Title = DocumentLibraryName;
newListInfo.TemplateType = ( int)ListTemplateType.DocumentLibrary;
List newList;
using (ClientContext clientContext = new ClientContext(siteUrl))
{
clientContext.Credentials = System.Net.CredentialCache.DefaultCredentials;
Web site = clientContext.Web;
newList = site.Lists.Add(newListInfo);
clientContext.Load(newList);
clientContext.ExecuteQuery();
}
{
}
在SharePoint 2010 中删除文档库
public string DeleteDocumentLibrary( string siteUrl, string DocumentLibraryName)
{
using (ClientContext clientContext = new ClientContext(siteUrl))
{
clientContext.Credentials = System.Net.CredentialCache.DefaultCredentials;
Web site = clientContext.Web;
List existList = site.Lists.GetByTitle(DocumentLibraryName);
existList.DeleteObject();
clientContext.ExecuteQuery();
clientContext.Dispose();
}
return "Delete Success ";
}
{
}
在SharePoint 2010 中上传文档
public string UploadFileToDocumntLibrary( string siteUrl, string documentListName, string documentListURL, string documentName, byte[] documentStream)
{
using (ClientContext clientContext = new ClientContext(siteUrl))
{
clientContext.Credentials = System.Net.CredentialCache.DefaultCredentials;
List documentsList = clientContext.Web.Lists.GetByTitle(documentListName);
var fileCreationInformation = new FileCreationInformation();
fileCreationInformation.Content = documentStream;
fileCreationInformation.Overwrite = true;
fileCreationInformation.Url = siteUrl + documentListURL +"/" + documentName;
Microsoft.SharePoint.Client.File uploadFile = documentsList.RootFolder.Files.Add(fileCreationInformation);
uploadFile.ListItemAllFields.Update();
clientContext.ExecuteQuery();
}
return "upload success ";
}
{
}
在SharePoint 2010中下载文档
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
在SharePoint 2010 中获取文档库中的文档
public List <</span>SharePointListItem> GetListItemCollection( string siteURL, string documentListName)
{
ListItemCollection listItems = GetListItemCollectionFromSP(siteURL, documentListName, 20);
List <</span>SharePointListItem> lireturn = new List <</span>SharePointListItem>();
foreach (ListItem li in listItems)
{
SharePointListItem item = new SharePointListItem();
item.Type = li.FileSystemObjectType.ToString();
item.DisplayName = li.FieldValues[ "FileLeafRef"].ToString();
item.FilePath = li.FieldValues[ "FileRef"].ToString();
item.CreatedDate =(DateTime)li.FieldValues["Created"];
item.ModifiedDate =(DateTime)li.FieldValues["Modified"];
item.Author = ((Microsoft.SharePoint.Client.FieldUserValue)li.FieldValues[ "Author"]).LookupValue;
item.Editor =((Microsoft.SharePoint.Client.FieldUserValue)li.FieldValues["Editor"]).LookupValue;
lireturn.Add(item);
}
return lireturn;
}
{
}
上面方法调用的方法
// Codeby 丁为平
private ListItem GetDocumentFromSP( string siteURL, string documentListName, string documentName)
{
ListItemCollection listItems = GetListItemCollectionFromSP(siteURL, documentListName, "FileLeafRef",
documentName, "Text", 1);
return (listItems != null && listItems.Count == 1) ? listItems[ 0] : null;
}
privateListItemCollection GetListItemCollectionFromSP( string siteURL, string documentListName, int rowLimit)
{
ListItemCollection listItems = null;
using (ClientContext clientContext = new ClientContext(siteURL))
{
clientContext.Credentials = System.Net.CredentialCache.DefaultCredentials;
List documentsList = clientContext.Web.Lists.GetByTitle(documentListName);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
@"
" + rowLimit.ToString() + @"
";
listItems = documentsList.GetItems(camlQuery);
clientContext.Load(documentsList);
clientContext.Load(listItems);
clientContext.ExecuteQuery();
}
return listItems;
}
private ListItemCollection GetListItemCollectionFromSP( string siteURL, string documentListName, string name, string value, string type, int rowLimit)
{
ListItemCollection listItems = null;
using (ClientContext clientContext = new ClientContext(siteURL))
{
clientContext.Credentials = System.Net.CredentialCache.DefaultCredentials;
List documentsList = clientContext.Web.Lists.GetByTitle(documentListName);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml =
@"
" + name + @"'/>
" + type + "'>" + value + @"
" + rowLimit.ToString() + @"
";
listItems = documentsList.GetItems(camlQuery);
clientContext.Load(documentsList);
clientContext.Load(listItems);
clientContext.ExecuteQuery();
}
return listItems;
}
{
}
private
{
}
{
}
private
{
}
还有一个支持类
[Serializable]
public class SharePointListItem
{
public SharePointListItem()
{
}
public string DisplayName { get; set; }
public string FilePath { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime ModifiedDate { get; set; }
public string Author { get; set; }
public string Editor { get; set; }
public string Type { get; set; }
}
public
{
}
分类: .Net技术, SharePoint2010
标签: SharePoint2010
0 0
- 使用SharePoint 2010 客…
- 使用BBED修改SCN …
- 使用 Oracle Universal Installer …
- 使用 Tortoise SVN 创建 Ext…
- 使用ForeFront TMG 2010发布Exchan…
- 使用 Apache OpenJPA 开发 EJB 3.0…
- 集线器 交换机 路由器 网桥 …
- 【PHP 使用 CURL 同步抓取多個網頁…
- objective-c 如果使用了release …
- FW: HTML5 WebSockets 基础使用教…
- 随笔『使用ActiveReport for .net …
- 解决使用 JDK 1.7 …
- 使用 EXPLAIN PLAN&nbsp…
- oracle 使用explain plan分析查询…
- Kettle 使用备忘录 2- bigdata版本…
- Linux 下使用 NMON&nbsp…
- 使用 grep 的 -o&n…
- Windows Socket API 使用小结(转载…
- Html.ActionLink详解
- CSS 属性设置优先级问题
- POJ-2585 Window Pains
- XML中的转义字符
- 使用WebClient从FTP服务器下载文件…
- 使用SharePoint 2010 客…
- window.dialogArguments
- ASP.NET 4.0的ClientIDMode属…
- reuqest获取服务器一些信息方法集合 java
- 序列化成json数据
- C# DateTime 日期加1天&…
- ASP.NET动态加载用户控件,关于后…
- 使用CSS将网站、图片转换成黑白的…
- [图解]Android下Invalid layout of java.lang.String at value的解决