[笔记]Asp.Net控件基础1.FileUpload控件文件上传至服务器的练习

  思路总结:将文件由本地上传至服务器要经过三个步骤,                                                                                                                                                  

    1.首先,在本地找到这个文件的完整路径.

    2.由文件扩展名验证此文件是否是我允许上传的(总不必把.exe也上传啊)                                                                                                                    

    3.上传至服务器并保存,实际就是转存到服务器

    4.在页面上显示出来             代码实现:

       

//上传按钮
protected void btnUpload_Click(object sender, EventArgs e)
{
bool istrue = false;//设置标志位,终止扩展名遍历
string path = Server.MapPath("FilePic/");//获取与服务器上的虚拟路径相对应的电脑上的物理路径
if (this.FUpload.HasFile)//判断文本框里有没有值,也就是说有没有路径
{
//string filepath = FileUpload1.FileName;//获取要上传的文件名
//string allfilepath = FileUpload1.PostedFile.FileName;//获取文件的全部路径
string fileExten = System.IO.Path.GetExtension(this.FUpload.FileName).ToLower();//获取文件的扩展名

string[] filetype = { ".gif", ".jpg", ".png",".doc",".txt"};
for (int i = 0; i < filetype.Length; i++)
{
if (filetype[i] == fileExten)//判断允许上传的文件类型
{
istrue = true;
break;
}
}
//跳出扩展名遍历验证后开始上传
if (istrue == true)
{
try
{
string newName = GetImageNewName();
this.FUpload.SaveAs(path + newName);//另存为
this.ImShow.ImageUrl = "~/FilePic/" + newName;
this.ltralMes.Text = "上传成功!";
}
catch (Exception)
{
this.ltralMes.Text = "完了,传不上去了!";
}
}
else
{
this.ltralMes.Text = "上传失败!";
}
}
}

//设置另存为后的新文件名称,以免两次上传同一图片时出错
public string GetImageNewName()
{
return DateTime.Now.ToString("yyyyMMddhhmmss") + this.FUpload.FileName;
}

    注:"FilePic"为服务器上要保存文件的文件夹名

原文地址:https://www.cnblogs.com/jizonghai/p/2243545.html