ASP.NET 上传、下载
/// <summary>
/// 上传文件
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
protected bool Uploadfile(string path)
{
bool flag = false;
if (FileUpload1.HasFile)
{
string fileName = FileUpload1.FileName;
if (!CfileName(path, fileName))
{
path += fileName;
FileUpload1.SaveAs(path);
Response.Write("<script>alert('上传成功')</script>");
flag = true;
}
else
{
Response.Write("<script>alert('上传失败')</script>");
flag = false;
}
}
else
{
Response.Write("<script>alert('上传失败')</script>");
flag = false;
}
return flag;
}
/// <summary>
/// 文件名比较
/// </summary>
/// <param name="path"></param>
/// <param name="fileNames"></param>
/// <returns></returns>
private bool CfileName(string path, string fileNames)
{
bool flag = false;
//获取文件夹下所有的文件名
string[] filename = Directory.GetFiles(path);
for (int i = 0; i < filename.Length; i++)
{
if (fileNames.ToString() == System.IO.Path.GetFileName(filename[i].ToString()).ToString())
{
Response.Write("<script>alert('文件名已存在,请换文件名在上传,谢谢!')</script>");
flag = true;
break;
}
else
{
flag = false;
}
}
return flag;
}
/// <summary>
/// 上传文件资料写入文件
/// </summary>
/// <param name="path"></param>
/// <param name="big"></param>
/// <param name="dt"></param>
/// <param name="ip"></param>
/// <returns></returns>
private bool WriteFiles(string path, int big, DateTime dt, string ip)
{
string path1 = Request.PhysicalApplicationPath;
string paths = path1+"\\upfile";
paths = paths + "text.txt";
if (!File.Exists(paths))
{
FileStream fs1 = new FileStream(paths, FileMode.Create, FileAccess.Write);//创建写入文件
StreamWriter sw = new StreamWriter(fs1);
sw.Write(" 文件名");//开始写入值
sw.Write(" 大小");
sw.Write(" 时间");
sw.Write(" 上传IP");
sw.Close();
fs1.Close();
}
else
{
FileStream fs = new FileStream(paths, FileMode.Append, FileAccess.Write);
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine("");
sr.Write(" 文件名:" + path);//开始写入值
sr.Write(" 大小:" + big + "KB");
sr.Write(" 时间:" + dt);
sr.Write(" IP:" + ip);
sr.Close();
fs.Close();
}
return true;
}
protected void bnt_Upload_Click(object sender, EventArgs e)
{
string path = Request.PhysicalApplicationPath;
path += @"\upfile\";
if (Uploadfile(path))
{
string fname = FileUpload1.FileName;
int big = this.FileUpload1.PostedFile.ContentLength;
string ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
DateTime dt = DateTime.Now;
WriteFiles(fname, big, dt, ip);
}
}
/// 上传文件
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
protected bool Uploadfile(string path)
{
bool flag = false;
if (FileUpload1.HasFile)
{
string fileName = FileUpload1.FileName;
if (!CfileName(path, fileName))
{
path += fileName;
FileUpload1.SaveAs(path);
Response.Write("<script>alert('上传成功')</script>");
flag = true;
}
else
{
Response.Write("<script>alert('上传失败')</script>");
flag = false;
}
}
else
{
Response.Write("<script>alert('上传失败')</script>");
flag = false;
}
return flag;
}
/// <summary>
/// 文件名比较
/// </summary>
/// <param name="path"></param>
/// <param name="fileNames"></param>
/// <returns></returns>
private bool CfileName(string path, string fileNames)
{
bool flag = false;
//获取文件夹下所有的文件名
string[] filename = Directory.GetFiles(path);
for (int i = 0; i < filename.Length; i++)
{
if (fileNames.ToString() == System.IO.Path.GetFileName(filename[i].ToString()).ToString())
{
Response.Write("<script>alert('文件名已存在,请换文件名在上传,谢谢!')</script>");
flag = true;
break;
}
else
{
flag = false;
}
}
return flag;
}
/// <summary>
/// 上传文件资料写入文件
/// </summary>
/// <param name="path"></param>
/// <param name="big"></param>
/// <param name="dt"></param>
/// <param name="ip"></param>
/// <returns></returns>
private bool WriteFiles(string path, int big, DateTime dt, string ip)
{
string path1 = Request.PhysicalApplicationPath;
string paths = path1+"\\upfile";
paths = paths + "text.txt";
if (!File.Exists(paths))
{
FileStream fs1 = new FileStream(paths, FileMode.Create, FileAccess.Write);//创建写入文件
StreamWriter sw = new StreamWriter(fs1);
sw.Write(" 文件名");//开始写入值
sw.Write(" 大小");
sw.Write(" 时间");
sw.Write(" 上传IP");
sw.Close();
fs1.Close();
}
else
{
FileStream fs = new FileStream(paths, FileMode.Append, FileAccess.Write);
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine("");
sr.Write(" 文件名:" + path);//开始写入值
sr.Write(" 大小:" + big + "KB");
sr.Write(" 时间:" + dt);
sr.Write(" IP:" + ip);
sr.Close();
fs.Close();
}
return true;
}
protected void bnt_Upload_Click(object sender, EventArgs e)
{
string path = Request.PhysicalApplicationPath;
path += @"\upfile\";
if (Uploadfile(path))
{
string fname = FileUpload1.FileName;
int big = this.FileUpload1.PostedFile.ContentLength;
string ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
DateTime dt = DateTime.Now;
WriteFiles(fname, big, dt, ip);
}
}
下载
string path1 = Request.PhysicalApplicationPath;
string path=path1+"\\upfile";
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] finfo = dir.GetFiles();
int cell = finfo.Length;
int rows = 3;
for (int i = 0; i < cell; i++)
{
TableRow tblrow = new TableRow();
for (int j = 0; j < rows; j++)
{
TableCell tblcell = new TableCell();
switch (j)
{
case 0:
tblcell.Text = i.ToString();
break;
case 1:
tblcell.Text = "<a href= upfile/" + finfo[i].ToString() + ">" + "下载" + "</a>";
break;
default:
tblcell.Text = finfo[i].ToString() ;
break;
}
tblrow.Cells.Add(tblcell);
}
Table1.Rows.Add(tblrow);
string path=path1+"\\upfile";
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] finfo = dir.GetFiles();
int cell = finfo.Length;
int rows = 3;
for (int i = 0; i < cell; i++)
{
TableRow tblrow = new TableRow();
for (int j = 0; j < rows; j++)
{
TableCell tblcell = new TableCell();
switch (j)
{
case 0:
tblcell.Text = i.ToString();
break;
case 1:
tblcell.Text = "<a href= upfile/" + finfo[i].ToString() + ">" + "下载" + "</a>";
break;
default:
tblcell.Text = finfo[i].ToString() ;
break;
}
tblrow.Cells.Add(tblcell);
}
Table1.Rows.Add(tblrow);