Zeki AKDOĞAN - Kişisel Web Sitesi Ana Sayfa | Fotoğraflarım | RSS RSS | İletişim

ASP.NET ile File Manager



using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            string startingDir = Server.MapPath("files");
            lblCurrentDir.Text = startingDir;
            ShowFilesIn(startingDir);
            ShowDirectoriesIn(startingDir);
            btnDelete.Attributes.Add("onclick", "javascript:return confirm('Silmek istediğinizden eminmisiniz?')");
            btnCreate.Attributes.Add("onKeyPress", "return keyRestrict(event,'abcdefgğhijklmnopqrstuvwxyzABCDEFGĞHIİJKLMNOPQRSTUVWXYZ ')");
        }
    }

    void ShowFilesIn(string dir)
    {
        DirectoryInfo dirInfo = new DirectoryInfo(dir);

        lstFiles.Items.Clear();
        foreach (FileInfo fileItem in dirInfo.GetFiles())
        {
            lstFiles.Items.Add(fileItem.Name);

        }
    }

    void ShowDirectoriesIn(string dir)
    {
        DirectoryInfo dirInfo = new DirectoryInfo(dir);

        lstDirs.Items.Clear();
        foreach (DirectoryInfo dirItem in dirInfo.GetDirectories())
        {
            lstDirs.Items.Add(dirItem.Name);
        }
    }

    protected void cmdParent_Click(object sender, EventArgs e)
    {
        if (Directory.GetParent(lblCurrentDir.Text) != null)
        {
            if (lblCurrentDir.Text != ConfigurationManager.AppSettings["root"].ToString())
            {
                string newDir = Directory.GetParent(lblCurrentDir.Text).FullName;
                lblCurrentDir.Text = newDir;
                ShowFilesIn(newDir);
                ShowDirectoriesIn(newDir);
            }
            else
            {
                alert("Üst klasöre erişim yetkiniz yok");
                //lblMesaj.Text = "Üst klasöre erişim yetkiniz yok";
            }

        }
    }


    protected void btnDownload_Click(object sender, EventArgs e)
    {
        string newDir = Path.Combine(lblCurrentDir.Text, lstFiles.SelectedItem.Text);
        System.IO.Stream akisnesne;
        int tamponboyu = 32768;
        byte[] tampon = new byte[tamponboyu + 1];
        int okunanboyu;
        int kalanboyu;

        akisnesne = new System.IO.FileStream(newDir, FileMode.Open, FileAccess.Read, FileShare.Read);
        kalanboyu = (int)akisnesne.Length;
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + lstFiles.SelectedItem.Text);
        while (kalanboyu > 0)
        {
            if (Response.IsClientConnected)
            {
                okunanboyu = akisnesne.Read(tampon, 0, tamponboyu);
                Response.OutputStream.Write(tampon, 0, okunanboyu);
                Response.Flush();
                kalanboyu = kalanboyu - okunanboyu;
            }
            else
            {
                kalanboyu = -1;
            }
        }
        if (!(akisnesne == null))
        {
            akisnesne.Close();
        }

    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
            if (lstFiles.SelectedIndex != -1)
            {
                string newDir = Path.Combine(lblCurrentDir.Text, lstFiles.SelectedItem.Text);
                //lblCurrentDir.Text = newDir;
                System.IO.File.Delete(newDir);
                ShowFilesIn(lblCurrentDir.Text);
                ShowDirectoriesIn(lblCurrentDir.Text);
                alert("Silme işlemi başarılıyla gerçekleştirildi");
            }
            else
            {
                alert("Silinecek dosya seçili değil");
            }

 

    }
    protected void btnUpload_Click(object sender, EventArgs e)
    {
            if (lblCurrentDir.Text != ConfigurationManager.AppSettings["root"].ToString())
            {
                if (fileup.HasFile)
                {
                    fileup.SaveAs(lblCurrentDir.Text + @"\" + fileup.FileName.ToString());
                    ShowFilesIn(lblCurrentDir.Text);
                    ShowDirectoriesIn(lblCurrentDir.Text);
                    alert("Yükleme işlemi başarıyla gerçekleştirildi");
                }
            }
       


    }
    void alert(string msg)
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(), "messagebox", "alert('" + msg + "');", true);
    }
    protected void btnCreate_Click(object sender, EventArgs e)
    {
            if (lblCurrentDir.Text != ConfigurationManager.AppSettings["root"].ToString())
            {
                Directory.CreateDirectory(lblCurrentDir.Text + @"\" + txtCreate.Text);
                ShowFilesIn(lblCurrentDir.Text);
                ShowDirectoriesIn(lblCurrentDir.Text);
                alert(txtCreate.Text + " isminde klasör oluşturuldu.");

            }
            else
            {
                alert("Bu klasörde yeni bir klasör oluşturma yetkiniz yok");
            }
      
    }
    protected void btnDirDelete_Click(object sender, EventArgs e)
    {
            if (lstDirs.SelectedIndex != -1)
            {
                if (lblCurrentDir.Text == ConfigurationManager.AppSettings["root"].ToString())
                {
                    alert("Bu bölümdeki klasörleri silme yetkiniz yok");
                }
                else
                {
                    string delDir = Path.Combine(lblCurrentDir.Text, lstDirs.SelectedItem.Text);
                    System.IO.Directory.Delete(delDir);
                    ShowFilesIn(lblCurrentDir.Text);
                    ShowDirectoriesIn(lblCurrentDir.Text);
                    alert("Silme işlemi başarılıyla gerçekleştirildi");

                }
            }
            else
            {
                alert("Silinecek klasör seçilmemiş");
            }
      


    }
    protected void btnAsagi_Click(object sender, EventArgs e)
    {
        if (lstDirs.SelectedIndex != -1)
        {
            if (lblCurrentDir.Text == ConfigurationManager.AppSettings["root"].ToString())
            {
                if (lstDirs.SelectedItem.Text == User.Identity.Name.ToString() || lstDirs.SelectedItem.Text == "ortak")
                {
                    string newDir = Path.Combine(lblCurrentDir.Text, lstDirs.SelectedItem.Text);
                    lblCurrentDir.Text = newDir;
                    ShowFilesIn(newDir);
                    ShowDirectoriesIn(newDir);
                }
                else
                {
                    alert("Sadece kişisel ve ortak klasörlere erişim erişebilirsiniz");
                }
            }
            else
            {
                string newDir = Path.Combine(lblCurrentDir.Text, lstDirs.SelectedItem.Text);
                lblCurrentDir.Text = newDir;
                ShowFilesIn(newDir);
                ShowDirectoriesIn(newDir);
            }

 

        }
    }


    protected void btnBilgiler_Click(object sender, EventArgs e)
    {
        if (lstFiles.SelectedIndex != -1)
        {
            string fileName = Path.Combine(lblCurrentDir.Text,
            lstFiles.SelectedItem.Text);
            FileInfo selFile = new FileInfo(fileName);

            StringBuilder displayText = new StringBuilder();
            displayText.Append("Adı: ");
            displayText.Append(selFile.Name);
            displayText.Append(",  Boyutu: ");
            displayText.Append(selFile.Length);
            displayText.Append(", ");
            displayText.Append("Oluştuma: ");
            displayText.Append(selFile.CreationTime.ToString());
            displayText.Append(", Enson Erişim: ");
            displayText.Append(selFile.LastAccessTime.ToString());
           alert( displayText.ToString());

        }
        else
        {
            alert("Dosya seçin");
        }
    }
}

Yazılım | Yorum Ekle(0)| 28.03.2008 15:43:03
Etiketler: asp.net file manager

Ana Sayfa | Fotoğraflarım | RSS | İletişim
Zeki AKDOĞAN 2009 © Hiçbir hakkı saklı değildir.