最近希望能把上传文件的方法做成一个单独的方法,只在点击按狃时就执行该方法,完成上传文件的操作 ,普通的上传文件的方法都是这样的:
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));
}
都是通过点击按狃来激发的,不知道怎么才能把上传文件做成一个单独的方法,封装在一个类中,供使用时调用???
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));
}
都是通过点击按狃来激发的,不知道怎么才能把上传文件做成一个单独的方法,封装在一个类中,供使用时调用???
* 类 名: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;
}
* 类 名: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;
}