C# 文件操作(上传 下载 删除 文件列表...)(转)
来源:互联网 发布:软件商城开发 编辑:程序博客网 时间:2024/04/29 15:44
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("no");
}
}
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
更多更详细的以后再做补充
posted on 2007-01-18 13:17 freeliver54 阅读(2385) 评论(5) 编辑 收藏 网摘 所属分类:VS技術實踐
- C# 文件操作(上传 下载 删除 文件列表...)(转)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表...)
- C# 文件操作(上传 下载 删除 文件列表)
- C# 文件操作(上传 下载 删除 文件列表...)
- C#实现Ftp各种操作(上传,下载,删除文件,创建目录,删除目录,获得文件列表)
- C#对FTP的操作(上传,下载,重命名文件,删除文件,文件存在检查)
- C#对FTP的操作(上传,下载,重命名文件,删除文件,文件存在检查)
- C#对FTP的操作(上传,下载,重命名文件,删除文件,文件存在检查)
- C# 上传文件到指定目录,单击下载文件,删除指定目录文件,打开文件列表
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等(转)
- net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表
- Microsoft Windows CE 编程的十点忠告
- open和release
- 浅尝DotNetNuke
- WinCE开发常识
- CMOS设置跳过键盘检测
- C# 文件操作(上传 下载 删除 文件列表...)(转)
- 开发windows ce 程序一定要掌上电脑吗...
- BeyondTrack 项目迁移了
- Windows CE在嵌入式工业控制系统中的应用思考
- listener.ora--sqlnet.ora--tnsnames.ora的关系以及手工配置举例
- 用snmp++发送get请求示例
- 人生的奇妙计算式
- 如何编写Windows CE结构的应用程序
- SQLNET.AUTHENTICATION_SERVICES
评论
#1楼 [楼主] 2007-08-29 08:48 freeliver54
#region 得到一个不重复的文件名
/// <summary>
/// 得到一个不重复的文件名(年月日_时分秒_微秒_UserSeqID)
/// </summary>
/// <param name="strUserSeqID">当前操作用户的UserSeqID</param>
/// <returns>得到一个不重复的文件名字符串(年月日_时分秒_微秒_UserSeqID)</returns>
public static string GetAFileNameString(string strUserSeqID)
{
string strTemp,strYear,strMonth,strDay,strHour,strMinute,strSecond,strMillisecond;
DateTime dt =DateTime.Now;
strYear = dt.Year.ToString ();
strMonth = (dt.Month > 9)? dt.Month.ToString() : "0" + dt.Month.ToString();
strDay = (dt.Day > 9)? dt.Day.ToString() : "0" + dt.Day.ToString();
strHour = (dt.Hour > 9)? dt.Hour.ToString() : "0" + dt.Hour.ToString();
strMinute = (dt.Minute > 9)? dt.Minute.ToString() : "0" + dt.Minute.ToString();
strSecond = (dt.Second > 9)? dt.Second.ToString() : "0" + dt.Second.ToString();
strMillisecond = dt.Millisecond.ToString();
strTemp = strYear + strMonth + strDay + "_" + strHour + strMinute + strSecond + "_" + strMillisecond + "_" + strUserSeqID.Trim();
return strTemp;
}
#endregion 回复 引用 查看
#2楼 [楼主] 2007-08-29 08:50 freeliver54
#region 文件上传
private void fn_upLoadFile()
{
try
{
#region 附件1
if (this.FileUpload1.PostedFile != null)
{
if (this.FileUpload1.PostedFile.ContentLength != 0)
{
string strFileName = System.IO.Path.GetFileName(this.FileUpload1.PostedFile.FileName);
string strFileNameTitle = strFileName.Substring(0, strFileName.IndexOf(".")) + "";
//
string strNewFileSaveName = CommClass.GetAFileNameString(Session["UserSeqID"].ToString());
string strFileType = strFileName.Substring(strFileName.LastIndexOf("."), strFileName.Length - strFileName.LastIndexOf("."));//得到扩展名
string strFileSavePath = "~/Files/" + strNewFileSaveName + strFileType;
string strFilePathAndName = Server.MapPath(strFileSavePath);
if (File.Exists(strFilePathAndName))//允许重复上传
File.Delete(strFilePathAndName);
this.FileUpload1.PostedFile.SaveAs(strFilePathAndName);
//
DBClass dbFileSeq = new DBClass();
string strCommandFileSeq = " SELECT ISNULL(MAX(AppFileSeqID),0) + 1 AS MaxSeqID FROM f_AppFile WITH(NOLOCK) ";
int intAppFileSeqID = dbFileSeq.RunSelectGetMaxSeqID(strCommandFileSeq);
//
DBClass dbFile = new DBClass();
string strCommandFile = " INSERT INTO f_AppFile(AppFileSeqID ";
strCommandFile += " , AppFileTitle";
strCommandFile += " , AppFilePath, AppFileLastUser, AppFileLastDate ,AppFileType ,AppFileEditTime ) ";
strCommandFile += " VALUES( ";
strCommandFile += " " + intAppFileSeqID + " ";
strCommandFile += " ,'" + strFileNameTitle + "' ";
strCommandFile += " ,'" + strFileSavePath + "' ";
strCommandFile += " , '" + Session["UserName"].ToString() + "' ";
strCommandFile += " ,GETDATE() ";
strCommandFile += " ,'" + this.radlist_DocFileType1.SelectedValue.Trim() + "' ";
strCommandFile += " ,'1' ";
strCommandFile += " ) ";
if (dbFile.RunNotSelectSqlCommand(strCommandFile))
{
CommClass.DoAlert(this.Page, "附件" + strFileName + " 上传 成功");
}
else
{
if (File.Exists(strFilePathAndName))
File.Delete(strFilePathAndName);
CommClass.DoAlert(this.Page, "附件" + strFileName + " 上传 失败");
}
}
}
#endregion
}
catch (Exception exx)
{
CommClass.DoAlert(this.Page, "附件 上传 失败");
}
}
#endregion
回复 引用 查看
#3楼 2008-01-28 18:36 more [未注册用户]
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("no");
}
}