`

验证上传的文件是否允许

    博客分类:
  • SSH
阅读更多

/***
  * 验证上传的文件是否允许
  * @param forefile
  * @return
  */
 public static boolean validateFileType(FormFile formfile){
  if(formfile != null && formfile.getFileSize() > 0){
   List<String> arrowType = Arrays.asList("image/gif","image/jpg","image/bmp","image/png","image/jpeg","image/pjpeg"
     ,"application/x-shockwave-flash","text/plain","application/msword","application/pdf",
     "application/vnd.ms-powerpoint","application/vnd.ms-excel");
   String ext = formfile.getFileName().substring(formfile.getFileName().lastIndexOf(".")+1).toLowerCase();
   List<String> arrowExtension = Arrays.asList("gif","jpg","bmp","png","swf"
     ,"doc","txt","xls","pdf");
   return arrowType.contains(formfile.getContentType().toLowerCase())&&arrowExtension.contains(ext);
  }
  return true;
 }
 /***
  * 用属性文件的方式验证上传的文件是否合法
  */
 private static Properties properties = new Properties();
 static{
  try {//通过类加载器加载文件
   properties.load(BaseForm.class.getResourceAsStream("arrowuploadfiletype.properties"));
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 public static boolean validateFileType2(FormFile formfile){
  if(formfile != null && formfile.getFileSize() > 0){
   String ext = formfile.getFileName().substring(formfile.getFileName().lastIndexOf(".")+1).toLowerCase();
   List<String> arrowType = new ArrayList<String>();
   for(Object key : properties.keySet()){
    String value = (String)properties.get(key); 
    String[] values = value.split(",");
    for(String v : values){
     arrowType.add(v.trim());
    }
   }
   return arrowType.contains(formfile.getContentType().toLowerCase())&&properties.keySet().contains(ext);
  }
  return true;
 }

分享到:
评论

相关推荐

    Flex多文件上传+md5验证文件是否上传

    FLEXd多文件上传,上传前MD5验证允许那些文件可以上传

    处理文件上传和验证的PHP库.zip

    &lt;?... class FileInfoTest extends PHPUnit_Framework_TestCase {  protected $fileWithExtension; ... protected $...例如判断是不是通过upload方式提交的文档,或者文件的扩展是不是我们允许的

    JS简单验证上传文件类型的方法

    本文实例讲述了JS简单验证上传文件类型的方法。分享给大家供大家参考,具体如下: function checkType(){ //得到上传文件的值 var fileName=document.getElementById("file_logo").value; //返回String对象中子...

    C#文件上传技术

    文件上传是Web应用程序中最常见的功能之一,它允许用户上传文件到服务器端,并将其存储在数据库或文件系统中。本文将介绍C#实现Web文件上传的两种方法,并对相关的技术要点进行详细的解释。 C#实现Web文件上传的两...

    Upload处理文件上传和验证的PHP库.zip

    在保证PHP安全而进行验证数据时,记住设计并验证应用程序允许使用的值通常比防止所有未知值更容易。下面列出了适用于各种验证数据的一般验证提示:1. 使用白名单中的值2. 始终重新验证有限的选项3. 使用内置转义函数...

    上传的js验证(图片/文件的扩展名)

    js 验证上传图片 代码如下: var ImgObj=new Image();//建立一个图像对象 varAllImgExt=”.jpg|.jpeg|.gif|.bmp|.png|”//全部图片格式类型 varFileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,IsImg...

    ActiveX多文件上传插件

    新颖网络上传插件(StorageWebPlug)是一个支持超大文件(2GB,可扩展)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省带宽,有详细的上传进度显示,支持多种脚本语言,欢迎下载体验。免费提供...

    WebClient上传下载源码

    例1:使用WebClient中的UploadFile方法上传文件。代码如下。使用此方法需要将上传的文件夹权限设置为 IIS来宾账户允许读写。 例2:使用WebClient的UpLoadData上传文件 例3:使用WebClient的Write方法上传。 例4:...

    js表单验证 表单验证类 整合

    Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。...

    jQuery-File-Upload:具有多个文件选择,拖放支持,进度条,验证和预览图像,jQuery音频和视频的File Upload小部件。 支持跨域,分块和可恢复的文件上传。 与支持标准HTML表单文件上传的任何服务器端平台(Google App Engine,PHP,Python,Ruby on Rails,Java等)一起使用

    拖放支持: 允许通过从桌面或文件管理器中将文件拖放到浏览器窗口中来上传文件。 上传进度条: 显示进度条,指示单个文件以及所有组合上载的上载进度。 取消上传: 可以取消单个文件的上载以停止上载进度。 断点...

    Pisx通用表单验证框架2.0

    6、上传文件验证,限制文件上传的类型。 7、兼容主流浏览器。 8、多种错误显示模式支持,Alert模式,Text模式,Check符号与Text并用模式, Popup模式。 9、支持AJAX调用,但未使用AJAX框架,以及其它任何第三方...

    XUploadFiles 插件

    提供上传文件过滤功能:指定允许上传的文件类型,也可以指定不允许上传的文件类型 显示上传进度条 自动生成缩略图(在浏览器中生成,不占用服务器资源) 支持对上传文件进行统计 提供自定义上传文件名、文件...

    三个思路解决laravel上传文件报错:413 Request Entity Too Large问题

    当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request ...

    jquery-file-upload:jQuery文件上传

    拖放支持: 允许通过从桌面或文件管理器中将文件拖放到浏览器窗口中来上传文件。 上传进度栏: 显示进度条,指示单个文件和所有组合上载的上载进度。 取消上传: 可以取消单个文件的上载以停止上载进度。 断点续...

    fileuploads:上传档案测试

    拖放支持: 允许通过将文件从桌面或文件管理器拖放到浏览器窗口来上传文件。 上传进度条: 显示一个进度条,指示单个文件和所有上传组合的上传进度。 可取消的上传: 可以取消单个文件上传以停止上

    ng-drupal:允许Restangular使用Services 3.5+连接到Drupal站点并使用REST的Angular服务。 提供身份验证和文件上传方法

    提供身份验证和文件上传方法。安装从Bower下载源bower install angular-drupal -S 将Restangular和ngDrupal添加到应用程序并配置REST端点。 angular.module('myApp', [ 'restangular', 'ngDrupal' ... ]) .config...

    大名鼎鼎SWFUpload- Flash+JS 上传

    当Flash上传文件的时候,由开发人员预定义的Javascript事件会被定时触发以便来更新页面中的UI,同时还提供上传状态和错误信息。 选定的文件的上传和它所在页面、表单是独立的。每个文件都是单独上传的,这就保证了...

    esup-filemanager:ESUP 文件管理器是一个 JSR286 Portlet。 Esup 文件管理器允许用户对其 HomeDirs 执行文件管理

    复制/剪切/过去、重命名、创建文件夹、上传/下载文件 复制/剪切/过去服务器间 使用 apache commons vfs -&gt; 支持的文件系统在这里: : - uri like file:///home/bob 工作例如 - ftp 和 sftp ok ... CIFS 支持(使用...

    实验室文件上传

    实验室Express IronTumblr介绍我们已经学习了如何上传文件,现在是时候练习一下了。要求分叉此回购克隆此仓库提交完成后,运行以下命令: $ git add .$ git commit -m "done"$ git push origin master创建请求请求,...

    JQurey Validation表单验证使用详解

    是一款优秀的插件,它能对客户端表单进行验证,并且提供了许多可以定制的属性和方法,良好的扩展性。本文就是通过讲解这个实例来理解...文件:文件类型(后缀)验证,如只允许上传图片。 IP:IP地址验证。 验证码:

Global site tag (gtag.js) - Google Analytics