最近希望能把上传文件的方法做成一个单独的方法,只在点击按狃时就执行该方法,完成上传文件的操作 ,普通的上传文件的方法都是这样的:
 public void UploadFile(object sender , EventArgs E)
 {
string View_Str=null;
string fname,fenc,fsize;
string newext=null;
string newname=null;
   //检查上传文件不为空
if(myFile.PostedFile!=null)
  {     
   string nam = myFile.PostedFile.FileName ;
   if (myFile.PostedFile.ContentLength<=10240000)
{
   //取得文件名(抱括路径)里最后一个"."的索引
   int i= nam.LastIndexOf(".");
   //取得文件扩展名
  newext =nam.Substring(i);
  newext=newext.ToLower();
   //这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
   DateTime now = DateTime.Now; 
   //newname=user_name; 
   //Random Rnd=new Random();
   //newname = now.ToString("yyyyMMddHHmmss")+Rnd.Next(10000000,99999999).ToString(); 
   //保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.
   //注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里"\"必须用"\\"代替

  if (newext==".rm"||newext==".ra"||newext==".rmvb"||newext==".ram"||newext==".avi"||newext==".wma"||newext==".wmv"||newext==".mpg"||newext==".mpeg"||newext==".asf")
  {
View_Str = "U"+Request.Cookies["user_id"].Value+newext;//Videw_Str是上传后的数据库的名字
   myFile.PostedFile.SaveAs(Server.MapPath("/video/"+View_Str)); 
   }
都是通过点击按狃来激发的,不知道怎么才能把上传文件做成一个单独的方法,封装在一个类中,供使用时调用???

解决方案 »

  1.   

    /***********************************************************************************************
     * 类  名:UpImgRandomSize()
     * 作  用:限制文件大小上传,把上传文件名变换为16位随机数上传,限制:图片文件类型(比如jpg,gif,bmp才能上传),限制上传文件大小在imgsize值之内,文件不能重名
     * 参  数:imgsize-----限制文件大小值,比如"2000000"为2MB
     *         path-----上传文件路径,相对路径,比如:downloads/lzt7/
     *         fl_Name-----选择上传文件HtmlInputFile控件id号
     *         lbl_Error-----上传提示错误Label控件id号
     * 返回值:返回文件名
     *********************************************************************************************** */
    public string UpImgRandomSize(int imgsize,string path,HtmlInputFile fl_Name,Label lbl_Error)
    {
    if(GetLastStr(fl_Name.PostedFile.FileName,".").ToLower()!="jpg" && GetLastStr(fl_Name.PostedFile.FileName,".").ToLower()!="gif" && GetLastStr(fl_Name.PostedFile.FileName,".").ToLower()!="bmp")
    {
    lbl_Error.Text="<script language=\"javascript\">alert(\"请上传jpg,gif,bmp图片格式文件\");</"+"script>"; 
    throw(new Exception());
    }
    if(fl_Name.PostedFile.ContentLength>imgsize)
    {
    lbl_Error.Text="<script language=\"javascript\">alert(\"图片大小限定在"+imgsize.ToString()+"MB以内\");</"+"script>"; 
    throw(new Exception());
    }
    string strPath=Server.MapPath(path);
    filename=GetDataRandom();
    filename=filename+"."+GetLastStr(fl_Name.PostedFile.FileName,".");
    string strFullPath=strPath+filename;
    if(File.Exists(strFullPath))
    {
    lbl_Error.Text="<script language=\"javascript\">alert(\"该图片已经存在,请改名再上传\");</"+"script>"; 
    throw(new Exception());
    }
    fl_Name.PostedFile.SaveAs(strFullPath);
    return filename;
    }
      

  2.   

    整理下给你/***********************************************************************************************
    * 类  名:UpImgRandomSize()
    * 作  用:限制文件大小上传,把上传文件名变换为16位随机数上传,限制:图片文件类型(比如jpg,gif,bmp才能上传),限制上传文件大小在imgsize值之内,文件不能重名
    * 参  数:imgsize-----限制文件大小值,比如"2000000"为2MB
    *         path-----上传文件路径,相对路径,比如:downloads/lzt7/
    *         fl_Name-----选择上传文件HtmlInputFile控件id号
    *         lbl_Error-----上传提示错误Label控件id号
    * 返回值:返回文件名
    *********************************************************************************************** */
    public string UpImgRandomSize(int imgsize,string path,HtmlInputFile fl_Name,Label lbl_Error)
    {
    if(GetLastStr(fl_Name.PostedFile.FileName,".").ToLower()!="jpg" && GetLastStr(fl_Name.PostedFile.FileName,".").ToLower()!="gif" && GetLastStr(fl_Name.PostedFile.FileName,".").ToLower()!="bmp")
    {
    lbl_Error.Text="<script language=\"javascript\">alert(\"请上传jpg,gif,bmp图片格式文件\");</"+"script>"; 
    throw(new Exception());
    }
    if(fl_Name.PostedFile.ContentLength>imgsize)
    {
    lbl_Error.Text="<script language=\"javascript\">alert(\"图片大小限定在"+imgsize.ToString()+"MB以内\");</"+"script>"; 
    throw(new Exception());
    }
    string strPath=Server.MapPath(path);
    filename=GetDataRandom();
    filename=filename+"."+GetLastStr(fl_Name.PostedFile.FileName,".");
    string strFullPath=strPath+filename;
    if(File.Exists(strFullPath))
    {
    lbl_Error.Text="<script language=\"javascript\">alert(\"该图片已经存在,请改名再上传\");</"+"script>"; 
    throw(new Exception());
    }
    fl_Name.PostedFile.SaveAs(strFullPath);
    return filename;
    }