| 
					
				 | 
			
			
				@ -16,6 +16,8 @@ import org.apache.http.entity.mime.MultipartEntityBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.http.impl.client.CloseableHttpClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.http.impl.client.HttpClientBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.http.util.EntityUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.pdfbox.pdmodel.PDDocument; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.pdfbox.text.PDFTextStripper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.poi.util.IOUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -81,6 +83,10 @@ public class FileUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!isFileFlag(fileType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new FileWrongFormatException("不符合文件上传格式"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        PDDocument document = PDDocument.load(inputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (containsXSS(document)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            throw new FileWrongFormatException("该PDF文件包含XSS攻击脚本!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long max = 5*1024*1024; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(fileSize > max){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -167,6 +173,10 @@ public class FileUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!isFileFlag(fileType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new FileWrongFormatException("不符合文件上传格式"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        PDDocument document = PDDocument.load(inputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (containsXSS(document)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            throw new FileWrongFormatException("该PDF文件包含XSS攻击脚本!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //上传到fastdfs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ObjectNode objectNode = fastDFSHelper.upload(inputStream, fileType, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //解析返回的objectNode 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -210,6 +220,10 @@ public class FileUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!isFileFlag(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           throw new FileWrongFormatException("不符合文件上传格式"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        PDDocument document = PDDocument.load(multipartFile.getInputStream()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (containsXSS(document)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            throw new FileWrongFormatException("该PDF文件包含XSS攻击脚本!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response = request(wlyyUrl + "/upload/chat", multipartFile, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        org.json.JSONObject rs = new org.json.JSONObject(response); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -519,6 +533,10 @@ public class FileUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!isFileFlag(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new FileWrongFormatException("不符合文件上传格式"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        PDDocument document = PDDocument.load(file.getInputStream()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (containsXSS(document)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            throw new FileWrongFormatException("该PDF文件包含XSS攻击脚本!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpEntity entity = builder.build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        httpPost.setEntity(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpResponse response = httpClient.execute(httpPost);// 执行提交 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -667,11 +685,20 @@ public class FileUploadService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List img = new ArrayList(Arrays.asList("jpeg","bmp", "jpg", "png", "tif", "gif", "pcx", "tga", "exif", "fpx","psd", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "cdr", "pcd", "dxf", "ufo", "eps", "ai", "raw", "WMF", "webp","xls","xlsx","text/plain","mp3","mp4","m4v","avi", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "ogm","wmv","mpg","webm","ogv","mov","asx","mpeg","image/png","amr","doc","docx","pdf")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "ogm","wmv","mpg","webm","ogv","mov","asx","mpeg","image/png","amr","doc","docx")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!img.contains(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public boolean containsXSS(PDDocument document) throws IOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PDFTextStripper pdfStripper = new PDFTextStripper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String text = pdfStripper.getText(document); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 检测文本中是否包含恶意脚本 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return text.contains("<script>") || text.contains("javascript:") || text.contains("alert"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |