using System.IO;
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
实际应用部分
#region 附件上传
/// <summary>
/// 对当前FCO进行附件上传操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void FileUpload_Click(object sender, EventArgs e)
{
string filePath = "";
string path = "";
string UpFileName = ""; //上传文件成功后服务器路径
if (drp_FILE_TYPE.SelectedValue.ToString() == "-1")
{
this.AddMessage("I_015");
this.MessageType = Advantest.AcsErp.Web.WebControls.MessageType.Info;
}
else
{
if (AttachmentFileUpload.PostedFile.FileName == "")
{
this.AddMessage("I_014");
this.MessageType = Advantest.AcsErp.Web.WebControls.MessageType.Info;
}
else
{
try
{
//取得文件路径
filePath = AttachmentFileUpload.PostedFile.FileName.ToString();
string[] PathList = filePath.Split('\\');
//取得上传文件的文件名
path = PathList[PathList.Count() - 1];
AttachmentFileUpload.PostedFile.SaveAs(Server.MapPath(path));
//取得上传文件成功后服务器路径
UpFileName = Server.MapPath(path);
FEB.saveFCOAttachmentEdit(Table7, int.Parse(Request.Params[0]), UpFileName, path);
this.AddMessage("E_025");
this.MessageType = Advantest.AcsErp.Web.WebControls.MessageType.Info;
}
catch (Exception)
{
this.AddMessage("E_026");
this.MessageType = Advantest.AcsErp.Web.WebControls.MessageType.Info;
}
}
}
//Attachment列表显示
DataSet ds = FEB.getFCOEditAttachmentSelect(Request.Params[0]);
this.Pager3.GridView = this.gv_M_UPLOADED_FILE;
this.Pager3.DataSource = ds.Tables[0];
//Attachment信息复原
drp_FILE_TYPE.SelectedValue = "-1";
txt_FILE_DESCRIPTION.Text = "";
}
#endregion