上传图片之上传前判断文件格式与大小

最近工作中需要做一个上传图片的功能,既然上传的是图片,那么就应该在上传之前对文件进行一下验证,看看要上传的是不是图片文件。所以在上传之前要对所选文件的格式进行验证。上传图片时因为服务器资源有限,经常会规定图片最大不超过多少,所以在上传之前还要进行图片大小的一个验证。今天就让我们来做一下这两个验证。


验证文件类型,看看所选文件是不是图片:

//文件类型:
protected bool IsAllowableFileType(string FileName)
{
    //从web.config读取判断文件类型限制
    string stringstrFileTypeLimit;
    stringstrFileTypeLimit = ConfigurationManager.AppSettings["PicTureTye"].ToString();
    //当前文件扩展名是否包含在这个字符串中
    Response.Write(FileName + stringstrFileTypeLimit);
    if (stringstrFileTypeLimit.IndexOf(FileName.ToLower()) != -1)
    {
        return true;
    }
    else
    {
        return false;
    }
}

 

 

 

验证文件大小,看看文件有没有超过最大限制:

 

//文件大小
public bool IsAllowableFileSize(long FileContentLength)
{
    //从web.config读取判断文件大小的限制
    Int32 doubleiFileSizeLimit;
    doubleiFileSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FileSizeLimit"]);

    //判断文件是否超出了限制
    if (doubleiFileSizeLimit > FileContentLength)
    {
        return true;
    }
    else
    {
        return false;
    }
}

 

 

 

一下是配置文件的设置,里面规定了上传文件的扩展名和大小。

  <appSettings>
    <add key="PicTureTye" value=".jpg|.gif|.png|.bmp|.jpeg|"/>
    <add key="FileSizeLimit" value="512000"/>
  </appSettings>

 

 

代码很简单,只要在上传之前调用这两个方法,就可以对你要上传的文件进行一下简单的验证,不但适用于图片的上传,其他文件也行,只要根据你的需要修改一下配置文件即可。


 

posted @ 2013-03-18 17:08  刘水镜  阅读(3835)  评论(10编辑  收藏  举报