Asp.Net下载内容至Sharepoint文档库,并增加自定义LIST记录

     此文观点只代表作者在一定时期的观点和看法。

  1 using  System;
  2 using  System.Data;
  3 using  System.Configuration;
  4 using  System.Collections;
  5 using  System.Web;
  6 using  System.Web.Security;
  7 using  System.Web.UI;
  8 using  System.Web.UI.WebControls;
  9 using  System.Web.UI.WebControls.WebParts;
 10 using  System.Web.UI.HtmlControls;
 11 using  Microsoft.SharePoint;
 12 using  Microsoft.SharePoint.WebControls;
 13 using  System.Net;
 14 using  System.IO; 
 15
 16 /// <summary>
 17/// 加載帶附件的字段
 18/// </summary>
 19/// <param name="insertvalue"></param>
 20/// <param name="splist"></param>

 21 protected   void  InsertValuetoMossTakeFile( string  insertvalue,SPList splist , string  filename)
 22 {
 23    SPList list = splist;
 24   SPListItem item = list.Items.Add();
 25
 26   item["subject"= insertvalue;
 27   item["Title"= "TestSuccessful";
 28   item["name"= insertvalue;
 29   item["ddd"= insertvalue;
 30   item["aaaa"= filename;
 31   item.Update();
 32}

 33   
 34
 35 /// <summary>
 36/// 增加帶文件的記錄
 37/// </summary>
 38/// <param name="sender"></param>
 39/// <param name="e"></param>

 40 protected   void  bntUpLoadFile_Click( object  sender, EventArgs e)
 41 {
 42    string insertvalue = string.Empty;
 43    string fileurl = string.Empty;
 44    insertvalue = txtInsertValue.Text;
 45    insertvalue = "加入附件";
 46    if (insertvalue == ""return;
 47
 48    SPSite sites = new SPSite(sitesURL);//獲得URL上的網站集合
 49     sites.CatchAccessDeniedException = false;
 50    foreach (SPWeb web in sites.AllWebs)
 51    {
 52        web.Site.AllowUnsafeUpdates = true;
 53        web.AllowUnsafeUpdates = true;
 54        SPList list = web.Lists["frankList"];
 55        if (list.BaseType.ToString() == "GenericList")
 56        {
 57             fileurl = UploadFile();
 58             InsertValuetoMossTakeFile(insertvalue,list, fileurl);
 59         }

 60    }

 61}

 62
 63
 64 protected   string  UploadFile()
 65 {
 66     SPSite site = null;
 67     SPListItem currentItem = null;
 68     SPWeb web = null;
 69     SPView defaultvalue = null;
 70     string isoURL = string.Empty;
 71     string urloffile = string.Empty;
 72     try
 73     {
 74         isoURL = "http://oa:8500/Doc";
 75
 76         //測試
 77                
 78          WebRequest mywebrq = WebRequest.Create("http://202.194.15.166/passage/upload/20071130/2007113013165212.doc");
 79        WebClient client = new WebClient();
 80        client.DownloadFile("http://202.194.15.166/passage/upload/20071130/2007113013165212.doc""test.doc");
 81        Stream str = client.OpenRead("http://202.194.15.166/passage/upload/20071130/2007113013165212.doc");
 82        StreamReader reader = new StreamReader(str);
 83        byte[] mbyte = new byte[500000];
 84        int allmybyte = (int)mbyte.Length;
 85        int startmbyte = 0;
 86        while (allmybyte > 0)
 87        {
 88            int m = str.Read(mbyte, startmbyte, allmybyte);
 89            if (m == 0)
 90                 break;
 91            startmbyte += m;
 92            allmybyte -= m;
 93         }

 94         site = new SPSite(isoURL);
 95         web = site.OpenWeb();
 96
 97         web.AllowUnsafeUpdates = true;
 98         urloffile = isoURL + "/" + "test.doc";
 99         fileurl = urloffile;
100         ////为了获得扩展名
101         SPFile file = web.GetFile(urloffile);
102         if (!file.Exists)
103         {
104            file = web.Files.Add(urloffile, mbyte, true);
105         }

106         else
107         {
108            throw new Exception("在初始檔庫裡,此文檔已經,請重命名你的檔案,再上傳");
109          }

110          currentItem = file.Item;
111       }

112       catch (Exception ex)
113       {
114           throw ex;
115       }

116       finally
117       {
118          if (site != null) site.Dispose();
119          if (web != null) web.Dispose();
120       }

121       return urloffile;
122}


以上代码是我自己写的,这是测试的时候做的,如果大家用得着

你可能感兴趣的:(SharePoint)