`

验证上传的文件是否允许

    博客分类:
  • 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;
 }

分享到:
评论

相关推荐

    js验证上传文件大小

    本文将详细讲解如何使用JavaScript(简称JS)来验证上传文件的大小。 JavaScript是一种运行在客户端的脚本语言,它可以用于处理用户输入、验证表单数据以及与服务器交互等多种任务。验证上传文件大小是其中一项重要...

    奇安信代码卫士,文件上传漏洞解决demo

    (1)使用白名单控制上传文件类型,即只允许指定扩展名的文件上传。 (2)对上传文件后缀与MIME Type进行匹配校验, 对文件头信息与文件后缀进行匹配校验。 (3)对单个文件大小和总文件数进行限制, 避免拒绝服务...

    文件上传(验证大小类型)

    在这个例子中,我们定义了一个允许的文件类型列表,并检查上传文件的扩展名是否在其中。 总的来说,Java中的文件上传涉及到了Servlet API、文件大小限制和文件类型的验证。在实际开发中,我们还需要考虑安全性,...

    ASP.NET 上传文件并验证文件真正的类型

    "ASP.NET 上传文件并验证文件真正的类型"这个主题就聚焦于如何实现这样一个功能。 首先,让我们了解ASP.NET中的Upload控件。ASP.NET提供了FileUpload控件,允许用户选择本地计算机上的文件,并将其上传到服务器。在...

    JS上传文件大小验证.rar

    "JS上传文件大小验证"这个主题涉及到用户在网页上选择文件后,前端先进行文件大小的检查,以防止过大文件导致服务器压力或者用户体验问题。下面将详细阐述这一知识点。 一、文件API的使用 在HTML5中,File API提供...

    js验证上传图片 大小 格式

    预览功能不仅提升了用户体验,也允许用户在上传之前确认图片是否正确无误。 ### 四、总结 综上所述,使用JavaScript进行图片上传的格式、大小及预览验证是一项实用且重要的技能。通过正则表达式、DOM操作以及`...

    上传文件代码源码 网页上传源码

    本资源提供的"上传文件代码源码"是实现这一功能的具体实现,适用于开发者学习和应用。下面将详细解释相关知识点。 1. **前端文件选择与预览** 在网页上,文件上传通常通过HTML5的`&lt;input type="file"&gt;`标签实现。...

    IIS7上传文件到特定目录下权限的设置

    本文将详细解释如何正确配置IIS7以允许用户上传文件到特定目录。 首先,IIS7采用了基于角色的安全性,与IIS6中的固定用户账户(如IUSR_Machine)不同。在IIS7中,通常使用内置的`IUSR`账户,这是一个匿名访问的身份...

    ASP.NET通过HTML的上传文件标签来上传文件

    总结起来,ASP.NET通过HTML的上传文件标签实现文件上传涉及客户端HTML表单、服务器端处理代码以及可能的额外验证和安全措施。这个过程可以扩展到包含更多功能,如文件预览、多文件上传和进度跟踪,以满足各种项目...

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

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

    ThinkPHP文件上传配置

    hashType参数用于设置上传文件的哈希验证方法,默认是md5_file。这个参数用于验证文件的完整性,以确保文件在上传过程中没有被篡改。 autoCheck参数用于设置是否自动检测附件,默认为自动检测。如果设置为false,则...

    批量上传文件 EXTJS文件上传 上传组件

    例如,可以通过监听FileField的`change`事件来实时更新文件列表,通过`beforeupload`事件来验证文件是否符合上传规则。 总而言之,EXTJS的批量上传文件功能是通过组合EXTJS FormPanel、FileField组件以及...

    PHP文件上传类

    - 通过`pathinfo()`函数可以获取文件的扩展名,类的`checkFileType()`方法会对比上传文件的扩展名与允许的文件类型列表,不匹配则拒绝上传。 7. **文件重命名**: - 为了避免文件名冲突,通常会生成一个唯一的...

    ajax文件上传带进度条,带判断上传文件是否合法

    为了提供更好的用户体验,开发者需要实现文件上传过程中的进度显示以及对上传文件的合法性进行验证。在本篇文章中,我们将深入探讨如何使用AJAX技术来实现这个功能,特别关注如何添加进度条并检查文件类型。 首先,...

    6种经典的asp上传文件源码+带进度条

    因此,源码中可能包含了对上传文件类型的检查、文件大小的限制,以及对上传目录的权限设置等安全措施。 5. 代码结构: ASP文件上传源码通常包括以下部分: - HTML页面:包含上传表单,以及可能的JavaScript或...

    一个简单实用的ASP文件上传组件

    ASP文件上传组件是一种在Web应用中处理用户上传文件的关键技术,尤其对于动态网站而言,它允许用户方便地将数据文件(如文档、图片、音频、视频等)上传至服务器。在本例中,"AN-Upload"是这样一个组件,它采用ASP...

    asp上传文件的解决

    上传文件" name="submit"&gt; ``` 2. **解析POST数据**:在服务器端的ASP脚本中,我们需要解析POST数据以获取文件内容。ASP不直接支持多部分表单数据解析,所以通常需要借助第三方库,如`CGI....

    asp.net 批量上传文件

    对于文件上传,我们可能需要配置`&lt;httpRuntime&gt;`节,调整如`maxRequestLength`(限制上传文件的大小)和`executionTimeout`(请求超时时间)等参数,以确保大文件或长时间上传的稳定性。 在`jqueryForm.aspx.cs`...

    上传文件demo

    8. **权限验证**:为了安全,服务器可能会对上传的文件进行验证,如检查文件类型、大小、是否存在恶意代码等。 9. **图片预览**:在用户选择文件后,可以使用HTML5的FileReader API读取文件内容,创建一个预览图,...

    ASP判断是否上传真实文件(防止修改后缀).rar

    - `IsArrayInArray()`函数是一个自定义函数,用于检查数组中是否存在指定元素,这里用来判断上传文件的后缀是否在允许的列表内。 2. **文件内容检查**: - 即使后缀名正确,也不能完全排除风险,因为用户可能通过...

Global site tag (gtag.js) - Google Analytics