Default2.aspx.cs
上传用户:xrffrp
上传日期:2022-03-25
资源大小:22155k
文件大小:6k
源码类别:

OA系统

开发平台:

ASP/ASPX

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. using System.IO;
  12. public partial class web_Default2 : System.Web.UI.Page
  13. {
  14.     protected void Page_Load(object sender, EventArgs e)
  15.     {
  16.     }
  17.     static public ArrayList hif = new ArrayList();//创建其大小可以动态增加的数组存放上传文件列表
  18.     public int filesUploaded = 0;//上传文件的数量
  19.     public string[] img;
  20.     //“添加图片”按钮的Click事件代码
  21.     /*private void Add_Click(object sender, System.EventArgs e)
  22.     {
  23.         if (Page.IsPostBack == true)//判断界面是否被刷新过,以防止向文件列表框内添加重复的图片文件
  24.         {
  25.             if (FindFile.PostedFile.FileName != "")// 判断HtmlInputFile控件得到的文件名是否为空
  26.             //注:该方法获取的文件名包含了文件路径
  27.             {
  28.                 hif.Add(FindFile);//向数组中添加获取到的文件变量
  29.                 FileList.Items.Add(FindFile.PostedFile.FileName);//向列表控件中添加获取到的文件名
  30.                 Image1.ImageUrl = FindFile.PostedFile.FileName;//预览当前添加的图片
  31.             }
  32.         }
  33.     }*/
  34.     //“删除图片”按钮的Click事件代码
  35.    /* private void Delete_Click(object sender, System.EventArgs e)
  36.     {
  37.         if (FileList.SelectedIndex == -1)//判断是否在列表控件中选中需要删除的文件
  38.         {
  39.             TipInfo.Text = "错误 - 必须指定要删除的文件.";//给用户提示错误信息
  40.             return;
  41.         }
  42.         else if (FileList.Items.Count != 0)//判断列表控件中是否有文件存在
  43.         {
  44.             hif.RemoveAt(FileList.SelectedIndex); //向自定义的数组中删除选中的文件
  45.             FileList.Items.Remove(FileList.SelectedItem.Text);//从列表控件中删除选中的文件
  46.             TipInfo.Text = "";//清除提示的错误信息
  47.         }
  48.     }*/
  49.     //上传按钮对应的ServerClick事件代码
  50.     protected void Upload_ServerClick(object sender, System.EventArgs e)
  51.     {
  52.         string baseLocation = ""; // 上传路径   
  53.         string name = "";// 上传源文件名
  54.         string newxt = "";// 源文件扩展名
  55.         string newname = "";// 目的文件名
  56.         string path = "/resource/";// 虚拟路径,根据实际需要在IIS中进行设置
  57.         DateTime now; // 定义时间变量
  58.         now = DateTime.Now; // 获取当前时间
  59.         string year = now.Year.ToString();// 获取当前时间的年份
  60.         string month = now.Month.ToString();// 获取当前时间的月份
  61.         string day = now.Day.ToString();// 获取当前时间的日期
  62.         if (FileList.Items.Count != 0) // 判断列表控件中是否有文件
  63.         {
  64.             //根据日期自动生成文件夹
  65.             string strPathn = Server.MapPath(path + year + "/");// 获取括号内的虚拟路径对应的物理路径
  66.             string strPathny = Server.MapPath(path + year + "/" + month + "/");
  67.             string strPathnyr = Server.MapPath(path + year + "/" + month + "/" + day + "/");
  68.             if (Directory.Exists(strPathn)) // 判断服务器端是否存在该年对应的文件夹,若无则创建
  69.             { }
  70.             else
  71.             {
  72.                 Directory.CreateDirectory(strPathn);
  73.             }
  74.             if (Directory.Exists(strPathny)) // 判断服务器端是否存在该年该月对应的文件夹,若无则//                                   创建该文件夹
  75.             { }
  76.             else
  77.             {
  78.                 Directory.CreateDirectory(strPathny);
  79.             }
  80.             if (Directory.Exists(strPathnyr)) // 判断服务器端是否存在该年该月该日对应的文件夹, //                                          若无则创建该文件夹
  81.             { }
  82.             else
  83.             {
  84.                 Directory.CreateDirectory(strPathnyr);
  85.             }
  86.             //按照动态数组中存放的文件信息依次保存文件
  87.             foreach (System.Web.UI.HtmlControls.HtmlInputFile HIF in hif)
  88.             //  按照循环的方式依次获取数组中的文件变量
  89.             {
  90.                 try
  91.                 {
  92.                     now = DateTime.Now;
  93.                     name = HIF.PostedFile.FileName; //取得上传文件的文件名(包括路径)
  94.                     int i = name.LastIndexOf(".");
  95.                     newxt = name.Substring(i); //取得文件扩展名,即文件类型
  96.                     //按照当前时间(精确到亳秒)+文件大小+该文件在数组中的次序为文件命名                newname=now.ToShortDateString().Trim()+now.Hour.ToString().Trim()+now.Minute.ToString().Trim()+now.Second.ToString().Trim()+now.Millisecond.ToString().Trim()+HIF.PostedFile.ContentLength.ToString().Trim()+(filesUploaded+1);
  97.                     //获取保存文件的虚拟路径      baseLocation=path.Trim()+year.Trim()+"/"+month.Trim()+"/"+day.Trim()+"/"+newname.Trim()+newxt.Trim();
  98.                     HIF.PostedFile.SaveAs(Server.MapPath(baseLocation)); //保按照规定的路径和名称保存文件
  99.                     filesUploaded++;
  100.                 }
  101.                 catch (Exception err) //若保存文件错误则给予提示信息
  102.                 {
  103.                     TipInfo.Text = "上传错误 " + baseLocation + "<br>" + err.ToString();
  104.                 }
  105.             }//循环结束
  106.             hif.Clear();//清空动态数组
  107.             FileList.Items.Clear();//清空列表控件中的内容
  108.         }
  109.     }
  110.     //列表控件中的选项改变时对应的事件代码
  111.     private void FileList_SelectedIndexChanged(object sender, System.EventArgs e)
  112.     {
  113.         Image1.ImageUrl = FileList.SelectedItem.Text; //预览当前选定的图片文件
  114.     }
  115. }