上传图片前判断文件格式与大小验证文件是不是图片

591 查看

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

验证文件类型,看看所选文件是不是图片:
复制代码 代码如下:

//文件类型:
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>

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