2008-11-10 16 views

cevap

7

Bunu yapmak için bazı özel kodlar yazabilirsiniz. Aynı sunucudaysanız veya WebServices'ı kullanıyorsanız, SharePoint API'sini kullanabilirsiniz.

Örnek kod, belge kitaplığının URL'sini bildiğinizi ve belgeyi kök klasöre yüklediğinizi varsayalım. Eğer ASP.NET projesi

 using (SPSite siteCollection = new SPSite(url)) 
     { 
      using (SPWeb spWeb = siteCollection.OpenWeb()) 
      { 
       SPList spList = spWeb.GetList(url); 

       string fileName = "XXXX"; 
       FileStream fileStream = null; 
       Byte[] fileContent = null; 

       try 
       { 
        string docPath = XXXX; //physical location of the file 
        fileStream = File.OpenRead(docPath + fileName); 
        fileContent = new byte[Convert.ToInt32(fileStream.Length)]; 
        fileStream.Read(fileContent, 0, Convert.ToInt32(fileStream.Length)); 

        spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + fileName, fileContent, true); 
        spList.Update(); 
       } 
       catch(Exception ex) 
       { 

       } 
       finally 
       { 
        if (fileStream != null) 
        { 
         fileStream.Close(); 
        } 
       } 
      } 
     } 
+0

Tüm dosyayı bellekte okumak yerine SPFolder.Add (url, Stream, overwrite) özelliğini de kullanabilirsiniz (bu da performans sorunlarına yol açabilir). büyük dosyaları yüklemeyi planlıyorsanız) – Marek

2

bakış at this blog sonrası referans olarak Microsoft.SharePoint.dll eklemek gerekir. Bil Simser tarafından.

Web Hizmetleri, listeleri kullanma hakkında argüman bir sürü gibi görünüyordu ve tüm bu sadece bir dokümanı karşıya. O kadar zor olamaz. Google'da biraz vakit geçirdikten sonra (google arkadaşınız IS), normal HTTP PUT komutları aracılığıyla doküman yükleme konusunda çeşitli girişimlerde bulundum. Sonunda basit, tek bir işlevde çalışılan işte işte: ...