How to Upload File and Modify Its Metadata to Document Library Using SharePoint Client Object

Posted at : Feb/23/2013
1805 Views | 0 Comments

SharePoint Client Object merupakan library yang digunakan untuk akses sharepoint object secara remote. Aplikasi remote yang dapat digunakan dapat berupa ASP.NET, Console Application, Windows Form, WPF, dll. Library tersebut berada di lokasi C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.SharePoint.Client.dll dan C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.SharePoint.Client.Runtime.dll. Oleh karena itu aplikasi remote yang digunakan harus melakukan referensi terlebih dahulu terhadap kedua library tersebut.

Pada artikel kali ini saya akan menggunakan Windows Form Application sebagai aplikasi remote. Object sharepoint yang akan di remote yaitu berupa document library. Aplikasi client akan melakukan upload file dan sekaligus insert data ke kolom yang terdapat di document library tersebut pada saat file di upload. Berikut adalah langkah-langkahnya :

1. Asumsikan terdapat sebuah document library dengan nama CVPelamar dengan kolom tambahan berupa Gaji yang memiliki tipe data Number.

2. Buat sebuah Windows Forms Application dari project template yang terdapat di Visual Studio 2010.

3. Tambahkan referensi dari project terhadap dua library yang sudah disebutkan di atas.

4. Tambahkan satu kontrol Button kedalam form.

5. Tambahkan namespace berikut ini di code behind :

Imports Microsoft.SharePoint.Client

6. Ketikkan kode berikut ini di event handler button yang telah ditambahkan kedalam form :

   1:  Dim ctx = New ClientContext(http://rully:5150)
   2:  ctx.Credentials = New System.Net.NetworkCredential( _
   3:         "user name", "password", "domain")
   4:   
   5:  Dim thisWeb = ctx.Web
   6:  Dim docLib = thisWeb.Lists.GetByTitle("CVPelamar")
   7:   
   8:  ctx.Load(thisWeb)
   9:  ctx.Load(docLib)
  10:   
  11:  Dim fileContent As Byte() = System.IO.File.ReadAllBytes( _
  12:             "C:\CV Pelamar.docx")
  13:  Dim fileCreationInfo As FileCreationInformation = _
  14:              New FileCreationInformation()
  15:  fileCreationInfo.Content = fileContent
  16:  fileCreationInfo.Overwrite = True
  17:  fileCreationInfo.Url = "/CVPelamar/CVPelamar1.docx"
  18:   
  19:  Dim newFile = docLib.RootFolder.Files.Add(fileCreationInfo)
  20:   
  21:  Dim field = newFile.ListItemAllFields
  22:  ctx.Load(field)
  23:  field("Gaji") = 2000
  24:  field.Update()
  25:   
  26:  Try
  27:         ctx.ExecuteQuery()
  28:   
  29:         MessageBox.Show("Uploaded.")
  30:  Catch ex As Exception
  31:         MessageBox.Show(ex.ToString)
  32:  End Try

7. Baris 1 dan 2 digunakan untuk mengakses sharepoint site dengan site url dan port yang dituju. Selain itu juga dicontohkan penggunaan network credentials apabila aplikasi client ingin menggunakan user tertentu yang sudah diberikan hak akses untuk upload file. Informasi domain cukup dilakukan dengan menambahkan informasi domain tersebut setelah password. Apabila aplikasi client menggunakan windows authentication untuk terhubung ke sharepoint maka informasi user credentials tersebut tidak perlu dilakukan.

8. Baris 6 digunakan untuk merujuk ke library. Library sebenarnya merupakan list khusus, sehingga untuk mengaksesnya juga sama seperti akses ke list biasa.

9. Baris 11-17 digunakan untuk membaca byte dari file yang akan diupload dan setting lainnya seperti apakah file akan di overwrite apabila sudah terdapat document dengan nama yang sama. Apabila nama file akan diubah pada saat di upload, properti yang harus diubah nilainya yaitu properti Url seperti pada baris 17 dengan merujuk ke path relative terhadap document library nya.

10. Upload file dilakukan pada baris ke 19 dengan menambahkan file kedalam FileColletion folder document library nya.

11. Baris 21-24 digunakan untuk akses metadata file yang akan di upload, dalam hal ini penambahan nilai untuk field Gaji sebesar 2000. Tentunya kita dapat menambahkan nilai untuk kolom lainnya apabila memang diperlukan.

12. Jalankan aplikasi tersebut. Berikut adalah hasilnya :

 

Selamat mencoba :)


[Comments]


[Write your comment]

Name (required)

Email (required-will not published)

Comment
5184
Input code above below (Case Sensitive) :

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder & IT Trainer Native Enterprise | MCT (2008-2019) | MVP (2009-2016) | Xamarin Certified Professional | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.

[Read More...]

TOP DOWNLOAD

Mapping Hak Akses User Pada MenuStrip Sampai Control Button
downloaded 6982 times

Bagaimana caranya menginstal database ketika deploying sebuah aplikasi?
downloaded 4893 times

Simple Voice Engine Application With Sound Player Class...
downloaded 4045 times

Change Group,Sort Order, Filtering By Date in Crystal Reports
downloaded 3460 times

WinForms DataGrid Paging With SqlDataAdapter
downloaded 2881 times


LINKS

CERTIFICATIONS

Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2024   Rully Yulian MF   All rights reserved.