ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文件上传白名单控制

2021-12-18 12:03:39  阅读:173  来源: 互联网

标签:文件 pt format fileName state result 白名单 上传


1、字典表中添加白名单 value文件格式

INSERT INTO `pt_dictionary` (`id`,`sign`,`code`,`name`,`value`, `sort`,`isDefault`,`state`,`active`)

 VALUES ('whiteList','whiteList',0,'上传文件格式格式白名单','.png.jpg.xsls.log',99,0,1,1);

 

 

一、前端

2、common模块添加查询白名单方法pmp.js pt.varification方法

pt.varification(fileName)方法

fileName:文件名

回参 true:格式通过

  false:格式不通过

3、js中上传前调用白名单方法,进行文件格式对比,不在白名单内提示白名单中得格式

//格式验证

if(!pt.verification(fileName)){

return;

}

//多个

for(var i=0;i<files.length;i++){

if(!pt.verification(files[i].name)){

return;

}

}

 

 

//演示js

function hosue_uploadAttachment(par) {
var fileName = $("#selectAttachment").val();
if (fileName == null) {
return;
}
var state = pt.verification(fileName);//格式验证
if(!state){
return;
}
$('#fileForm').ajaxSubmit({
url : pt.base + "sb/sbtz/uploadAttachment.do",
type : 'post',
dataType : 'json',
async : false,
success : function(result) {
pt.showMsg(result.msg);
var list = result.data;
if (list != null) {
$("#loadFileId").val(list[0]);
$("#fileDiv").val("");
$("#fileDiv").val(list[3] + "个文件");
}
}
});
}

 

 

//格式验证方法

pt.verification = function(fileName){

var state;

var format = fileName.substr(fileName.lastIndexOf(".")+1,fileName.length);
$.ajax({
async: false,
type : 'post',
url : pt.base + "pt/dict/queryWhiteList.do",
data : {
"format" : format
},
dataType : "json",
success : function(result) {
if(result.state){
state = true;
}else{
pt.showErrorMsg("请选择"+result.data+"格式文件!");
state = false;
}
}
});
return state;
}

 

// 获取白名单信息并判断

@ResponseBody
@OperationLog(rank = RankLevelEnum.COMMON, module = ModuleEnum.COMMON, entity = "ptDictionary",
name = "queryWhiteList", type = OperatonTypeEnum.QUERY, title = "查询字典下拉框")
@RequestMapping(value = "queryWhiteList", method = RequestMethod.POST)
public AjaxResult queryWhiteList(HttpServletRequest request,HttpServletResponse response) {

AjaxResult result = new AjaxResult();
String format = request.getParameter("format");
PtDictionaryEntity ptDictionaryEntity = ptDictionaryService.findById("whiteList");
String[] splits = StringUtils.split(ptDictionaryEntity.getValue(), ".");
List<String> strings = Arrays.asList(splits);
result.setState(strings.contains(format));
result.setData(ptDictionaryEntity.getValue());
return result;

}

 

标签:文件,pt,format,fileName,state,result,白名单,上传
来源: https://www.cnblogs.com/qyds/p/15704680.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有