
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");
}
}
}