C#文件操作:上传 下载 删除

文/佚名  出处/中国IT实验室

1.文件上传
    ----------
    如下要点:
    HTML部分:
    <form id=\"form1\" runat=\"server\" method=\"post\" enctype=\"multipart/form-data\">
    <input id=\"FileUpLoad\" type=\"file\" runat=\"server\"/><br />
    后台CS部分 按钮事件
    //string strFileFullName = System.IO.Path.GetFileName(this.FileUpLoad.PostedFile.FileName);
    //this.FileUpLoad.PostedFile.SaveAs(Server.MapPath(\"./Xmlzip/\") + strFileFullName);

2.文件下载
    ----------
    ListBox的SelectedIndexChanged事件 设定相关下载连接
        protected void lst_DownLoadFileList_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strJS = \"window.open(\'Xmlzip/\";
                strJS += this.lst_DownLoadFileList.SelectedItem.Text.Trim();
                strJS += \"\'); return false; \";
                this.imgbtn_DownLoadFile.Attributes.Add(\"onclick\", strJS);
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
        }
    或者也可以通过 改变Label的Text值 来实现点击后实现文件下载的超级连接
    this.Label1.Text = \"<a href=\\\"Xmlzip/a.rar\\\">a.rar</a>\"

3.文件删除
    ---------
    string strFilePath = Server.MapPath(\"../CountryFlowMgr/Xmlzip/\"+this.lst_DownLoadFileList.SelectedItem.Text.Trim());
    if (File.Exists(strFilePath))
    {
      File.Delete(strFilePath);
      if (File.Exists(strFilePath))
      {
    Response.Write(\"ok\");
      }
      else
      {
            Response.Write(\"ok\");
      }
    }


4.得到文件夹下的文件列表
    -----------
    #region 得到当前可用的文件列表
        /// <summary>
        /// 得到当前可用的文件列表
        /// </summary>
        /// <param name=\"IsAlert\">是否需要弹出提示信息</param>
        private void fn_getCurrFileList(bool IsAlert)
        {
            try
            {
                //查找Xmlzip文件夹下 属于其本身UnitCoding的相关zip文件
                string strXmlZipDirectory = Server.MapPath(\"../Xmlzip/\");
                if (Directory.Exists(strXmlZipDirectory))
                {
                    //DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory);
                    DirectoryInfo di = new DirectoryInfo(strXmlZipDirectory);

                    FileInfo[] FI = di.GetFiles(\"*.zip\");//只查.zip文件
                    if (FI.Length > 0)
                    {
                        lst_DownLoadFileList.Items.Clear();
                        foreach (FileInfo tmpFI in FI)
                        {
                            ListItem tmpItem = new ListItem();
                            tmpItem.Text = tmpFI.Name;
                            lst_DownLoadFileList.Items.Add(tmpItem);
                        }
                        lst_DownLoadFileList.SelectedIndex = 0;
        }
                    else
                    {
                        if (IsAlert)
                        {
                            Response.write(\"查无可以下载的文件!\");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
        }
        #endregion

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [C#] 的这些文章也感兴趣:

GDI+中常见的几个问题(6)
微软公布“.NET”第二阶段研发方向
.NET框架中的XML:在.NET框架中使用XML架构执行代码生成(3)
C#Builder实现POP3信箱的监视
扩展Kevin McFarlane的C#版DesignByContract Framework
C#泛型集合揽胜
DotNETWinFormFAQ16个(上)
C#读写ini文件的类,调用kernel32.dll中的api
设计模式之C#实现(三)FactoryMethod
Lucene分词初探---LetterTokenizer