/***
* 验证上传的文件是否允许
* @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;
}
分享到:
相关推荐
(1)使用白名单控制上传文件类型,即只允许指定扩展名的文件上传。 (2)对上传文件后缀与MIME Type进行匹配校验, 对文件头信息与文件后缀进行匹配校验。 (3)对单个文件大小和总文件数进行限制, 避免拒绝服务...
FLEXd多文件上传,上传前MD5验证允许那些文件可以上传
<?... class FileInfoTest extends PHPUnit_Framework_TestCase { protected $fileWithExtension; ... protected $...例如判断是不是通过upload方式提交的文档,或者文件的扩展是不是我们允许的
本文实例讲述了JS简单验证上传文件类型的方法。分享给大家供大家参考,具体如下: function checkType(){ //得到上传文件的值 var fileName=document.getElementById("file_logo").value; //返回String对象中子...
在保证PHP安全而进行验证数据时,记住设计并验证应用程序允许使用的值通常比防止所有未知值更容易。下面列出了适用于各种验证数据的一般验证提示:1. 使用白名单中的值2. 始终重新验证有限的选项3. 使用内置转义函数...
js 验证上传图片 代码如下: var ImgObj=new Image();//建立一个图像对象 varAllImgExt=”.jpg|.jpeg|.gif|.bmp|.png|”//全部图片格式类型 varFileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,IsImg...
新颖网络上传插件(StorageWebPlug)是一个支持超大文件(2GB,可扩展)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省带宽,有详细的上传进度显示,支持多种脚本语言,欢迎下载体验。免费提供...
例1:使用WebClient中的UploadFile方法上传文件。代码如下。使用此方法需要将上传的文件夹权限设置为 IIS来宾账户允许读写。 例2:使用WebClient的UpLoadData上传文件 例3:使用WebClient的Write方法上传。 例4:...
Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。...
拖放支持: 允许通过从桌面或文件管理器中将文件拖放到浏览器窗口中来上传文件。 上传进度条: 显示进度条,指示单个文件以及所有组合上载的上载进度。 取消上传: 可以取消单个文件的上载以停止上载进度。 断点...
6、上传文件验证,限制文件上传的类型。 7、兼容主流浏览器。 8、多种错误显示模式支持,Alert模式,Text模式,Check符号与Text并用模式, Popup模式。 9、支持AJAX调用,但未使用AJAX框架,以及其它任何第三方...
提供上传文件过滤功能:指定允许上传的文件类型,也可以指定不允许上传的文件类型 显示上传进度条 自动生成缩略图(在浏览器中生成,不占用服务器资源) 支持对上传文件进行统计 提供自定义上传文件名、文件...
当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request ...
拖放支持: 允许通过从桌面或文件管理器中将文件拖放到浏览器窗口中来上传文件。 上传进度栏: 显示进度条,指示单个文件和所有组合上载的上载进度。 取消上传: 可以取消单个文件的上载以停止上载进度。 断点续...
拖放支持: 允许通过将文件从桌面或文件管理器拖放到浏览器窗口来上传文件。 上传进度条: 显示一个进度条,指示单个文件和所有上传组合的上传进度。 可取消的上传: 可以取消单个文件上传以停止上
提供身份验证和文件上传方法。安装从Bower下载源bower install angular-drupal -S 将Restangular和ngDrupal添加到应用程序并配置REST端点。 angular.module('myApp', [ 'restangular', 'ngDrupal' ... ]) .config...
当Flash上传文件的时候,由开发人员预定义的Javascript事件会被定时触发以便来更新页面中的UI,同时还提供上传状态和错误信息。 选定的文件的上传和它所在页面、表单是独立的。每个文件都是单独上传的,这就保证了...
复制/剪切/过去、重命名、创建文件夹、上传/下载文件 复制/剪切/过去服务器间 使用 apache commons vfs -> 支持的文件系统在这里: : - uri like file:///home/bob 工作例如 - ftp 和 sftp ok ... CIFS 支持(使用...
实验室Express IronTumblr介绍我们已经学习了如何上传文件,现在是时候练习一下了。要求分叉此回购克隆此仓库提交完成后,运行以下命令: $ git add .$ git commit -m "done"$ git push origin master创建请求请求,...
是一款优秀的插件,它能对客户端表单进行验证,并且提供了许多可以定制的属性和方法,良好的扩展性。本文就是通过讲解这个实例来理解...文件:文件类型(后缀)验证,如只允许上传图片。 IP:IP地址验证。 验证码: