Menampilkan dan Memanipulasi File Sistem Server dengan ASP.NET

Pendahuluan
Kadang – kadang, pengembang web perlu menampilkan file – file dalam directory secara otomatis di webpage-nya. Sebagai contoh, misalnya website yang dikelola adalah website pengembangan aplikasi .NET, ia dapat meletakkan file aplikasinya (untuk di-share) dalam 1 directory dan secara otomatis, webpagenya menampilkan semua file berekstensi aspx, ascx, dan lain – lain sesuai keinginan tanpa perlu penambahan coding maupun isi database lagi.
Dalam file ASP klasik, untuk mengakses file sistem web server digunakan library FileSystemObject. Dalam .NET, ada satu set kelas dalam namespace System.IO yang memperbolehkan pengaksesan file sistem secara pemrograman.
Keunggulan pengaksesan file sistem dalam ASP.NET adalah dalam hal penyajian informasinya. Informasi file sistem dapat disajikan dalam web control apapun, seperti ‘DataGrid’, ‘DataList’, ataupun ‘Repeater’. Artinya, file sistem dapat ditampilkan dengan baik dan dalam waktu yang singkat.

Mengakses File Sistem dengan ASP.NET
.NET Framework mengandung 2 kelas untuk mengakses informasi directory, dan 2 kelas untuk mengakses informasi file. Untuk mengakses informasi directory dapat dipakai kelas ‘Directory’ atau ‘DirectoryInfo’. Sedangkan untuk mengakses informasi file dapat dipakai kelas ‘File’ atau ‘FileInfo’.
Kelas Info (DirectoryInfo dan FileInfo) memerlukan pembuatan instance dan mendeklarasikan nama directory dan file pada constructor untuk menggunakan method-nya. Misalnya, untuk menghapus sebuah file menggunakan kelas FileInfo, dipakai perintah

Dim myFile as FileInfo = New FileInfo(filePath)
myFile.Delete()

Perbedaan dari masing – masing kedua kelas di-atas adalah level informasi yang bisa didapat serta cara penggunaannya. Kelas ‘Directory’ dan ‘File’ adalah kelas statik, yang berarti tidak perlu membuat instance dari kelas tersebut. Kelas – kelas ini sangat berguna bila pengembang web hanya ingin menjalankan fungsi yang berhubungan dengan directory secara cepat. Sebagai contoh, bila ingin menghapus dapat digunakan perintah ‘File.Delete(FilePath)’. Untuk mengetahui apakah sebuah directory ada atau tidak, dapat dipakai perintah ‘Directory.Exist(DirectoryPath)’.

Mendapatkan daftar file dalam sebuah directory
Kelas Directory and DirectoryInfo mempunyai method untuk mendapatkan semua nama file dalam sebuah directory (atau mendapatkan semua nama file yang sesuai dengan wildcard, seperti *.aspx). Method ini adalah ‘GetFiles()’ dan digunakan seperti dibawah ini :

‘ — Contoh Directory —-
Dim files() as String = Directory.GetFiles(directoryPath[, optionalWildCard])

‘ — Contoh DirectoryInfo —-
Dim myDir as DirectoryInfo = New DirectoryInfo(directoryPath)
Dim fileInfos() as FileInfo = myDir.GetFiles([optionalWildCard])

Seperti yang terlihat, method Directory.GetFiles menerima 1 atau 2 parameter. Path dari directory, yang file-nya ingin diambil, harus dituliskan. Sedangkan wildcard semacam *.aspx, *.html, dan lain – lain hanya bersifat optional. Method ini mempunyai kembalian berupa array string yang berisi daftar nama file dalam directory yang sesuai dengan wildcard, bila ada. Method DirectoryInfo.GetFiles() tidak membutuhkan inputan path dari directory karena sudah dideklarasikan di constructor. Untuk Method DirectoryInfo.GetFiles(), nilai kembaliannya berupa array objek FileInfo, bukan string.

Menampilkan File – File Sebuah Directory Dalam DataGrid
Untuk menampilkan file – file sebuah directory dalam DataGrid (atau DataList atau repeater), yang diperlukan hanyalah mengisikan array FileInfo atau array string ke dalam DataSource Datagrid, dan kemudian melakukan DataBind. Untuk contoh di bawah, digunakan method DirectoryInfo.GetFiles() karena dapat menampilkan nama serta detail file. Bila menggunakan Directory.GetFiles, hanya bisa mendapatkan nama – nama file-nya saja.

Sub Page_Load(sender as Object, e as EventArgs)
Dim dirInfo as New DirectoryInfo(Server.MapPath(“”))

articleList.DataSource = dirInfo.GetFiles(“*.aspx”)
articleList.DataBind()
End Sub

asp:DataGrid runat=”server” id=”articleList” Font-Name=”Verdana”
AutoGenerateColumns=”False” AlternatingItemStyle-BackColor=”#eeeeee”
HeaderStyle-BackColor=”Navy” HeaderStyle-ForeColor=”White”
HeaderStyle-Font-Size=”15pt” HeaderStyle-Font-Bold=”True”

asp:HyperLinkColumn DataNavigateUrlField=”Name” DataTextField=”Name”
HeaderText=”File Name” /
asp:BoundColumn DataField=”LastWriteTime” HeaderText=”Last Write Time”
ItemStyle-HorizontalAlign=”Center” DataFormatString=”{0:d}” /
asp:BoundColumn DataField=”Length” HeaderText=”File Size”
ItemStyle-HorizontalAlign=”Right”
DataFormatString=”{0:#,### bytes}” /

/asp:DataGrid

Pada coding di atas, diambil file – file yang berekstensi .aspx, mengisikannya ke dalam DataGrid ASP.NET, dan mem-bind DataGrid-nya.

Advertisements

About Aulia Rahman

Melatih kepribadian diri dengan menulis, karena dengan menulis bisa mengajarkan kita cara bersikap, berbicara, dan bersilaturahim.
This entry was posted in Uncategorized. Bookmark the permalink.

One Response to Menampilkan dan Memanipulasi File Sistem Server dengan ASP.NET

  1. Anonymous says:

    Copas hehe..
    Slamat pak buat penempatanx..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s