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.

. Bookmark the permalink.

2 Responses to Menampilkan dan Memanipulasi File Sistem Server dengan ASP.NET

  1. Anonim says:

    Copas hehe..
    Slamat pak buat penempatanx..

  2. Anonim says:

    Hey I know this is off topic but I was wondering if you knew of any widgets I
    could add to my blog that automatically tweet my newest twitter
    updates. I've been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.

    My site - cellulite treatment cream

Leave a Reply

Terima Kasih sudah memberikan masukan, semoga bisa membangun penulis untuk lebih giat lagi dalam menulis beberapa artikel yang bermanfaat,jangan lupa mengisi .: BUKU PENGUNJUNG :. ya

Diberdayakan oleh Blogger.