zoukankan      html  css  js  c++  java
  • sharepoint list 文档上传和删除

    最近项目需要对sharepoint 文件操作,于是自己写了一个简单的工具类分享出来:

    namespace Microsoft.SharePoint
    {
        using System;
        using System.Collections.Generic;
        using System.IO;
        using System.Linq;
        using System.Text;
        using Microsoft.SharePoint;
        using Microsoft.SharePoint.Utilities;
        public class DocLibManager
        {
            public static void UploadFile(SPList list, string filePath, string dirName, string fileName)
            {
                SPFolder rootFolder = GetSPFolder(list, dirName);
                SPFileCollection files = rootFolder.Files;
    
                if (FileExists(list, dirName, fileName))
                {
                    rootFolder.Files.Delete(SPUrlUtility.CombineUrl(rootFolder.Url ,fileName));
                }
                using (FileStream fs = new FileStream(filePath, FileMode.Open))
                {
                    rootFolder.Files.Add(fileName, fs);
                }
    
    
            }
    
            public static bool FileExists(SPList list, string dirName, string fileName)
            {
                SPFolder rootFolder = GetSPFolder(list, dirName);
                string fileurl = SPUrlUtility.CombineUrl(list.ParentWebUrl, SPUrlUtility.CombineUrl(rootFolder.Url, fileName));
                SPFile file = list.ParentWeb.GetFile(fileurl);
                if (file != null) {
                    return file.Exists;
                }
                return false;
            }
    
            public static void RemoveFile(SPList list, string dirName, string fileName)
            {
                SPFolder rootFolder = GetSPFolder(list, dirName);
                if (!string.IsNullOrEmpty(fileName))
                {
                    string fileurl = SPUrlUtility.CombineUrl(list.ParentWebUrl, SPUrlUtility.CombineUrl(rootFolder.Url, fileName));
                    SPFile file = list.ParentWeb.GetFile(fileurl);
                    if (file != null && file.Exists)
                        file.Delete();
                }
                else
                {
                    rootFolder.Delete();
                }
             
            }
            public static SPFolder GetSPFolder(SPList list, string dirName)
            {
                SPFolder rootFolder = list.RootFolder;
                if (string.IsNullOrEmpty(dirName) || dirName == rootFolder.Name)
                {
    
                }
                else
                {
                    SPFolder subFolder = null;
                    subFolder = rootFolder.SubFolders.Add(SPUrlUtility.CombineUrl(rootFolder.Url, dirName));
                    subFolder = rootFolder.SubFolders[dirName];
                    rootFolder = subFolder;
                }
                return rootFolder;
            }
    
        }
    }

     调用代码:

     string listurl = "http://mossvr/docs/Documents/Forms/AllItems.aspx";
                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    using (SPSite site = new SPSite(listurl))
                    {
                        using (SPWeb web = site.OpenWeb(listurl))
                        {
                            SPList list = web.GetList(listurl);
                            DocLibManager.UploadFile(list, @"C:DocLib.txt", "root", "test.txt");
                            DocLibManager.RemoveFile(list, "root", "test.txt");
                        }
                    }
                });
    

     如果是sharepoint server 建议考虑性能 http://blog.csdn.net/ma_jiang/article/details/6553190

  • 相关阅读:
    DataFrame遍历所有元素
    linux 安装redis 和系统学习redis
    接口
    安装idea教程
    Hello World!
    通过特征交互检测生成文本分类的层次解释《Generating Hierarchical Explanations on Text Classification via Feature Interaction Detection》(LIME算法、神经网络预测的分层解释CD和ACD、Shapley Value夏普利值、Leave-One-Out留一法、HEDGE)
    数字图像处理 乱记
    高傲的审稿人
    两项技能
    人其实会变的
  • 原文地址:https://www.cnblogs.com/majiang/p/3838678.html
Copyright © 2011-2022 走看看