Asp.Net 文件上传

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" />

<script type="text/javascript"> // </script>

Feedback

# re: 最近遇到的几个小问题总结  回复  更多评论   

2007-02-10 15:51 by 刘帝勇
最好是分个目录,都放在AdFiles下,如果要直接查看(如内网),打开那个文件夹时间太长。这也是客户提出的。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值