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

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

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

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

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

相关文章

  • php上传图片学习笔记与心得

    我们在php中上传文件就必须使用#_FILE变量了,这个自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这...2016-11-25
  • php+jquery Ajax异步上传图片(ajaxSubmit)实例

    下面我们一起来看一个php+jquery Ajax异步上传图片(ajaxSubmit)实例,这个我们真正的利用了ajax而不是使用iframe之类的哦。 效果如下 ...2016-11-25
  • PHP:实现给上传图片加水印的程序代码

    用PHP给上传图片加水印的程序是通过判定文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入imagestring()或是原已经定好的图像程序当中判定水...2016-11-25
  • vue实现上传图片添加水印

    这篇文章主要为大家详细介绍了vue实现上传图片添加水印,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-13
  • PHP上传图片时判断上传文件是否为可用图片的方法

    这篇文章主要介绍了PHP上传图片时判断上传文件是否为可用图片的方法,涉及php针对图片的后缀检测操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2016-11-01
  • 【帝国CMS插件】帝国CMS7.0图集批量上传插件 批量上传图片

    帝国CMS的图集上传一直是很蛋疼的事情。 猪先飞网以前发布过一款 图集批量上传插件 ,但可惜只支持6.6版。不支持7.0版。 而帝国CMS7.0版自2013年03月份发布以来,一直没有人放...2015-12-30
  • php检测上传图片的长度和宽度

    /* array getimagesize ( string $filename [, array &$imageinfo ] ) getimagesize()函数将确定任何给定的图像大小的文件,并返回随着文件类型和高度/宽度的文本字符串...2016-11-25
  • C#实现上传照片到物理路径,并且将地址保存到数据库的小例子

    这篇文章主要介绍了c#上传图片,并将地址保存到数据库中的简单实例,有需要的朋友可以参考一下...2021-09-22
  • 帝国7.0 多值字段修改为 可以上传图片的形式

    我们知道多值字段功能很强大,但不能上传图片确很操蛋,其实改吧改吧就可以了,只是帝国的大大们似乎不太注意这些小细节,只有靠自己来优化了。<script> function domvadd_ffff() {...2015-12-30
  • php ckeditor上传图片文件大小限制修改

    ckeditor编辑器在上传图片或文件时是没有大小限制的,下面我们来给大家介绍两种ckeditor上传图片文件大小限制问题解决办法。 一种可以通过修改PHP.INI配置文件上传...2016-11-25
  • php+ajax实现带进度条的上传图片功能【附demo源码下载】

    这篇文章主要介绍了php+ajax实现带进度条的上传图片功能,涉及php文件传输及ajax无刷新提交的相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下...2016-10-02
  • PHP中FCK上传图片文件名乱码

    使用fck的朋友可能会碰这样一个情况就是如果上你的文件名为英文字母是没有任何问题,如果上传的是中文汉字就会出现中文名乱码了,下面我来给大家分析与介绍解决方法。...2016-11-25
  • thinkphp3.2实现上传图片的控制器方法

    这篇文章主要介绍了thinkphp3.2实现上传图片的控制器方法,结合实例形式分析了thinkPHP图片文件上传相关的文件类型判断,文件路径及相关属性操作技巧,需要的朋友可以参考下...2016-05-04
  • php ckeditor上传图片文件名乱码解决方法

    文件名乱码一般是中文导致的,因为ckeditor使用的是uft8编码如果我们页面使用的是gbk或gb2312就有可能出现乱码问题,解决办法只要对上传文件重命名即可。 打开editor...2016-11-25
  • CKeditor增加上传图片功能方法

    CKeditor可以配合CKfinder实现文件的上传及管理。但是往往我们上传的图片需要某些自定义的操作,比如将图片路径写入数据库,图片加水印等等操作。 实现原理:配置CKeditor...2016-09-20
  • Vue组件封装上传图片和视频的示例代码

    这篇文章主要介绍了Vue封装上传图片和视频的组件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-07-31
  • asp.net MVC实现无组件上传图片实例介绍

    无组件实现上传图片使用input的file作为上传选择文件,具体实现如下:前后台代码很详细,感兴趣的朋友们可不要错过了哈...2021-09-22
  • PHP文件上传与上传图片加水印例子

    文章介绍的PHP文件上传与上传图片加水印例子是分开来写的了,先是介绍文件上传代码,而后介绍了一个上传图片加水印代码,大家可以整理成一个类来方便调用了。 先来看一...2016-11-25
  • swfupload ajax无刷新上传图片实例代码

    在这里上传图片就需要用到ajax无刷新上传图片,这里面包含的东西不是一点半点。这里用到的是一个插件swfupload实现无刷新上传图片,感兴趣的朋友可以参考下哈...2021-09-22
  • ASP.net WebAPI 上传图片实例

    这篇文章主要介绍了ASP.net WebAPI 上传图片实例,有需要的朋友可以参考一下...2021-09-22