• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

在ASP.NET中上传下载文件实例代码

c# 搞代码 4年前 (2022-01-09) 32次浏览 已收录 0个评论

using System.IO;
//检查上传文件不为空

 if(File1.PostedFile!=null)   {         string nam = File1.PostedFile.FileName ;    //取得文件名(抱括路径)里最后一个"."的索引    int i= nam.LastIndexOf(".");    //取得文件扩展名    string newext =nam.Substring(i);    //这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复    DateTime now = DateTime.Now;     string newname=now.DayOfYear.ToString()+File1.PostedFile.ContentLength.ToString();     //保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.    //注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里""必须用""代替    File1.PostedFile.SaveAs(Server.MapPath("upload"+newname+newext));    this.HyperLink1.NavigateUrl  ="upload"+newname+newext;    //得到这个文件的相关属性:文件名,文件类型,文件大小    //fname.Text=File1.PostedFile.FileName;    //fenc.Text=File1.PostedFile.ContentType ;    //fsize.Text=File1.PostedFile.ContentLength.ToString();   }

上传可以用.net里的HTML控件里的File Field的上传控件呀,你拖到窗体上后,你可以右击做为服务器端控件使用,就这样写上你要上传的几句代码就行了,下载直接连接到你要下载的文件就可以下载了把文件上传放到服务器上,直接加超衔接就是下载了.一下是上传文件用到的类:
说明:直接在cs文件里复制粘贴就可以用的.using System;
using System.IO;

using System.Web.UI.HtmlControls;namespace youjian {  /// <summary>  /// UpFile 的摘要说明。  /// </summary>  public class UpFile  {   public UpFile()  { }#region 是否允许该扩展名上传IsAllowedExtension ///<summary> ///是否允许该扩展名上传 ///</summary> ///<paramname = "hifile">HtmlInputFile控件</param> ///<returns>允许则返回true,否则返回false</returns> public bool IsAllowedExtension(HtmlInputFile hifile) {  string strOldFilePath = "";  string strExtension = ""; //允许上传的扩展名,可以改成从配置文件中读出  string[]arrExtension = {".gif",".jpg",".jpeg",".bmp",".png"}; if(hifile.PostedFile.FileName != string.Empty)  {  strOldFilePath = hifile.PostedFile.FileName;  //取得上传文件的扩展名  strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));  //判断该扩展名是否合法   for(int i = 0;i<arrExtension.Length;i++)   {    if(strExtension.Equals(arrExtension[i]))    {     return true;    }   }  }  return false; } #endregion #region 判断上传文件大小是否超过最大值IsAllowedLength /// <summary> /// 判断上传文件大小是否超过最大值 /// </summary> /// <param name="hifile">HtmlInputFile控件</param> /// <returns>超过最大值返回false,否则返回true.</returns> public bool IsAllowedLength(HtmlInputFile hifile) {  //允许上传文件大小的最大值,可以保存在xml文件中,单位为KB  int i = 20;  //如果上传文件的大小超过最大值,返回flase,否则返回true.  if(hifile.PostedFile.ContentLength > i * 1024)  {   return false;  }  return true; } #endregion#region 获取一个不重复的文件名GetUniqueString /// <summary> /// 获取一个不重复的文件名 /// </summary> /// <returns></returns> public string GetUniqueString() {  //得到的文件名形如:20050922101010  return DateTime.Now.ToString("yyyyMMddhhmmss"); } #endregion #region 删除指定文件DeleteFile /// <summary> /// 删除指定文件 /// </summary> /// <param name="strAbsolutePath">文件绝对路径</param> /// <param name="strFileName">文件名</param> public void DeleteFile(string strAbsolutePath, string strFileName) { //判断路径最后有没有/符号,没有则自动加上  if(strAbsolutePath.LastIndexOf("//") == strAbsolutePath.Length)  {   //判断要删除的文件是否存在   if(File.Exists(strAbsolutePath + strFileName))   {    //删除文件    File.Delete(strAbsolutePath + strFileName);   }  }  else  {   if(File.Exists(strAbsolutePath + "//" + strFileName))   {    File.Delete(strAbsolutePath + "//" + strFileName);   }  } } #endregion#region 上传文件并返回文件名 SaveFile /// <summary> /// 上传文件并返回文件名 /// </summary> /// <param name="hifile">HtmlInputFile控件</param> /// <param name="strAbsolutePath">绝对路径.如:Server.MapPath(@"Image/upload")与Server.MapPath(@"Image/upload/")均可,用/符号亦可</param> /// <returns>返回的文件名即上传后的文件名</returns> public string SaveFile(HtmlInputFile hifile,string strAbsolutePath) {  string strOldFilePath = "",strExtension = "",strNewFileName = ""; //如果上传文件的文件名不为空  if(hifile.PostedFile.FileName != string.Empty)  {   strOldFilePath = hifile.PostedFile.FileName;   //取得上传文件的扩展名   strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));   //文件上传后的命名   strNewFileName = GetUniqueString() + strExtension;   //如果路径末尾为/符号,则直接上传文件   if(strAbsolutePath.LastIndexOf("//") == strAbsolutePath.Length)   {    hifile.PostedFile.SaveAs(strAbsolutePath + strNewFileName);   }   else   {    hifile.PostedFile.SaveAs(strAbsolutePath + "//" + strNewFileName);   }  }  return strNewFileName; } #endregion #region 重新上传文件,删除原有文件CoverFile /// <summary> /// 重新上传文件,删除原有文件 /// </summary> /// <par<mark>本文来源gaodaimacom搞#^代%!码&网(</mark>am name="ffFile">HtmlInputFile控件</param> /// <param name="strAbsolutePath">绝对路径.如:Server.MapPath(@"Image/upload")与Server.MapPath(@"Image/upload/")均可,用/符号亦可</param> /// <param name="strOldFileName">旧文件名</param> public void CoverFile(HtmlInputFile ffFile,string strAbsolutePath,string strOldFileName) {  //获得新文件名  string strNewFileName = GetUniqueString(); if(ffFile.PostedFile.FileName != string.Empty)  {  //旧图片不为空时先删除旧图片   if(strOldFileName != string.Empty)   {    DeleteFile(strAbsolutePath,strOldFileName);   }   SaveFile(ffFile,strAbsolutePath);  } } #endregion

C#.net 文件操作:上传 下载 删除 文件列表


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在ASP.NET中上传下载文件实例代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址