1 、文件上传
最近做广告发布系统,不可避免的遇到上传图片文件的问题。基本原理是将图片上传到服务器,然后将它的路径保存在数据库,显示的时候从服务器取出该路径,让img直接指向这个路径即可。当然在上传的时候需要判断文件类型,比如是jpg、gif,swf等。在这里我是用正则表达式来验证的,该方法非常有效,而直接用endwith方法来判断有时候会出现一些莫名其妙的问题。
//获取上传文件的路径
string filename=this.file1.PostedFile.FileName;
//定义正则表达式
Regex reg = new Regex(@"^.+\.(jpg)|(gif)|(swf)|(jpeg)$");
//用正则表达式来判定
if(!reg.Match(filename.ToLower()).Success)
{ base.Alert("上传的文件类型不符合要求!"); }
//获取上传文件的名称
string name = DateTime.Now.ToString("yyyyMMddhhmmss")+filename.Substring(filename.LastIndexOf("\\")+1);
//要上传的服务器地址
string path=Server.MapPath(string.Format("~/AdFiles/"))+name;
try
{ this.file1.PostedFile.SaveAs(path);
}
catch(Exception ee)
{ base.Alert("图片上传失败,请与服务器空间商联系确认权限!");
}
其次是上传权限的设置,如果是在本地,需要对虚拟目录下该文件夹设置写入权限,在该目录上鼠标右键->属性->安全->everyone->写入即可。
如果是在服务器,除了需要有该文件夹的写入权限之外,还要在web.config里面设置一下。
在system.web节点里面添加如下代码:
<identity impersonate="true" userName="UserName" password="PassWord" />
最近做广告发布系统,不可避免的遇到上传图片文件的问题。基本原理是将图片上传到服务器,然后将它的路径保存在数据库,显示的时候从服务器取出该路径,让img直接指向这个路径即可。当然在上传的时候需要判断文件类型,比如是jpg、gif,swf等。在这里我是用正则表达式来验证的,该方法非常有效,而直接用endwith方法来判断有时候会出现一些莫名其妙的问题。
//获取上传文件的路径
string filename=this.file1.PostedFile.FileName;
//定义正则表达式
Regex reg = new Regex(@"^.+\.(jpg)|(gif)|(swf)|(jpeg)$");
//用正则表达式来判定
if(!reg.Match(filename.ToLower()).Success)
{ base.Alert("上传的文件类型不符合要求!"); }
//获取上传文件的名称
string name = DateTime.Now.ToString("yyyyMMddhhmmss")+filename.Substring(filename.LastIndexOf("\\")+1);
//要上传的服务器地址
string path=Server.MapPath(string.Format("~/AdFiles/"))+name;
try
{ this.file1.PostedFile.SaveAs(path);
}
catch(Exception ee)
{ base.Alert("图片上传失败,请与服务器空间商联系确认权限!");
}其次是上传权限的设置,如果是在本地,需要对虚拟目录下该文件夹设置写入权限,在该目录上鼠标右键->属性->安全->everyone->写入即可。
如果是在服务器,除了需要有该文件夹的写入权限之外,还要在web.config里面设置一下。
在system.web节点里面添加如下代码:
<identity impersonate="true" userName="UserName" password="PassWord" />

浙公网安备 33010602011771号