一个简单的上传类

一直以来,很多项目都要求上传,每次都要写上传的代码,比较麻烦。便想写一个类来完成上传的任务,以便在开发中减轻负担。写的很简单,但确实实用^_^

 

using System;
using System.Web;
using System.IO;
using System.Text;

namespace upfile
{
 
/// 
 
/// upfile类完成文件的上传和删除功能
 
/// 

 public class MyUpload 
 

  
private System.Web.HttpPostedFile postedFile=null
  
private string savePath=""
  
private string extension=""
  
private int fileLength=0
//上传控件
  public System.Web.HttpPostedFile PostedFile 
  

   
get 
   

    
return postedFile; 
   }
 
   
set 
   

    postedFile
=value; 
   }
 
  }
 


        
//存储路径
  public string SavePath 
  

   
get 
   

    
if(savePath!=""return savePath; 
    
return "C:\\"
   }
 
   
set 
   

    savePath
=value; 
   }
 
  }
 


        
//文件大小
  public int FileLength 
  

   
get 
   

    
if(fileLength!=0)
    
{
     
return fileLength; 
    }

    
return 1024
   }
 
   
set 
   

    fileLength
=value*1024
   }
 
  }
 


        
//文件格式
  public string Extension 
  

   
get 
   

    
if(extension!=""
    

     
return extension; 
    }

    
return ""
   }
 
   
set 
   

    extension
=value; 
   }
 
  }
 


        
  
public string PathToName(string path) 
  

   
int pos=path.LastIndexOf("\\"); 
   
return path.Substring(pos+1); 
  }
 


        
//上传文件
  public string Upload() 
  

   
if(PostedFile!=null
   

    
try
    

     
string fileName=PathToName(PostedFile.FileName); 
     
if(!fileName.EndsWith(Extension))
     
{
      
return "你必须选择 "+Extension+" 这个格式的文件!"
     }

     
if(PostedFile.ContentLength>FileLength) 
     
{
      
return "文件太大!"
     }

     
if(File.Exists((SavePath+"\\"+fileName)))
     
{
      
return "文件名重复!"
     }

     
else
     
{
      PostedFile.SaveAs(SavePath
+"\\"+fileName); 
      
return "上传文件成功!"
     }

    }
 
    
catch(System.Exception exc) 
    
{
     
return exc.Message;
    }
 
   }
 
   
return "请选择文件上传!"
  }
 

  
//显示文件名
  public string upfilename()
  
{
   
string fileName=PathToName(PostedFile.FileName); 
   
return fileName;
  }


  
//显示详细路径
  public string url()
  
{
   
string fileName=PathToName(PostedFile.FileName); 
   
string urls=SavePath+"\\"+fileName;
   
return urls;
  }


  
//删除上传的文件
  public string delete(string url)
  
{
   
    
try
    

     
       File.Delete(url); 
       
return "删除文件成功!"
     
    }
 
    
catch(System.Exception exc) 
    
{
     
return exc.Message;
    }
 
   
     }



 }
 
}
 

 

 


使用方法:
1.在引用里添加upfile.dll的引用
2.using upfile;
3.private MyUpload myupfile;
4.myupfile=new MyUpload();    //实例化
  myupfile.PostedFile=this.File1.PostedFile;     //设置上传控件
  myupfile.SavePath=Server.MapPath("");          //设置上传路径
 
5.上传按钮:
     this.Label2.Text=myupfile.Upload(); //上传
   if(this.Label2.Text=="上传文件成功!")
   {
    this.upfile.Text=myupfile.upfilename();  //显示文件名
    this.url.Text=myupfile.url();         //显示文件路径
   }
  
6.删除按钮:
     this.Label2.Text=myupfile.delete(this.url.Text);
   if(this.Label2.Text=="删除文件成功!")
   {
    this.upfile.Text="";  //显示文件名
    this.url.Text="";         //显示文件路径
   }
      
      
      
 aspx:

(<form id="Form1" method="post" runat="server" enctype="multipart/form-data">
 
 <INPUT id="File1" style="Z-INDEX: 102; LEFT: 304px; POSITION: absolute; TOP: 184px" type="file"
     name="File1" runat="server">)

posted @ 2005-03-21 13:07  jierry  阅读(300)  评论(0编辑  收藏  举报