|  |  | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * web文件上传示例 | 
 |  |  |  * web文件上传 | 
 |  |  |  */ | 
 |  |  | @Slf4j | 
 |  |  | @RestController | 
 |  |  | @RequestMapping(path="webFile") | 
 |  |  | @SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked" | 
 |  |  | public class WebFileCtrl { | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |     @Value("${dy.webFile.fmUrl}") | 
 |  |  |     private String fmUrl ; | 
 |  |  |  | 
 |  |  |     //支持的文档文件类型 | 
 |  |  |     @Value("${dy.webFile.supportedFileTypes}") | 
 |  |  |     private String supportedFileTypes ; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 上传照片图片文件 (当前只对png jpg格式图片支持缩略图) | 
 |  |  |      * @param file | 
 |  |  |      * @return | 
 |  |  |      * @param file web端上传文件的post对象 | 
 |  |  |      * @return 返回结果 | 
 |  |  |      */ | 
 |  |  |     @PostMapping("/upPhoto") | 
 |  |  |     @SsoPowerAop(power = "-1") //登录与权限同时验证 | 
 |  |  |     //https://blog.zhengru.top/posts/33486.html#%E5%8D%95%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0 | 
 |  |  |     //参考: https://blog.zhengru.top/posts/33486.html#%E5%8D%95%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0 | 
 |  |  |     public BaseResponse<?> upPhoto(MultipartFile file) { | 
 |  |  |         try { | 
 |  |  |             if (file != null) { | 
 |  |  | 
 |  |  |                                 null); | 
 |  |  |                         String fileMainName = fileOp.getFileMainName(frVo.fileName) ; | 
 |  |  |                         Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath); | 
 |  |  |                         FileVo fvo = new FileVo(id, frVo.fileNameHash, fileNameGrp[0], fileNameGrp[1], (frVo.getFileWebUrl() + frVo.getFileWebPath()), fileOp.getImgFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath()), frVo.fileSysRestUrl + frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         FileVo fvo = new FileVo(id, | 
 |  |  |                                 frVo.fileNameHash, | 
 |  |  |                                 fileNameGrp[0], | 
 |  |  |                                 fileNameGrp[1], | 
 |  |  |                                 (frVo.getFileWebUrl() + frVo.getFileWebPath()), | 
 |  |  |                                 fileOp.getImgFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath()), | 
 |  |  |                                 frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         return  BaseResponseUtils.buildSuccess(fvo) ; | 
 |  |  |                     }else { | 
 |  |  |                         return BaseResponseUtils.buildError("未得到上传文件的扩展名"); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 上传录音音频文件 | 
 |  |  |      * @param file | 
 |  |  |      * @return | 
 |  |  |      * @param file web端上传文件的post对象 | 
 |  |  |      * @return 返回结果 | 
 |  |  |      */ | 
 |  |  |     @PostMapping("/upPhone") | 
 |  |  |     @SsoPowerAop(power = "-1") | 
 |  |  | 
 |  |  |                                 null); | 
 |  |  |                         String fileMainName = fileOp.getFileMainName(frVo.fileName) ; | 
 |  |  |                         Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath); | 
 |  |  |                         FileVo fvo = new FileVo(id, frVo.fileNameHash, fileNameGrp[0], fileNameGrp[1],frVo.getFileWebUrl() + frVo.getFileWebPath(), null, frVo.fileSysRestUrl + frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         FileVo fvo = new FileVo(id, | 
 |  |  |                                 frVo.fileNameHash, | 
 |  |  |                                 fileNameGrp[0], | 
 |  |  |                                 fileNameGrp[1], | 
 |  |  |                                 frVo.getFileWebUrl() + frVo.getFileWebPath(), | 
 |  |  |                                 null, | 
 |  |  |                                 frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         return  BaseResponseUtils.buildSuccess(fvo) ; | 
 |  |  |                     }else { | 
 |  |  |                         return BaseResponseUtils.buildError("未得到上传文件的扩展名"); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 上传录像视频文件 | 
 |  |  |      * @param file | 
 |  |  |      * @return | 
 |  |  |      * @param file web端上传文件的post对象 | 
 |  |  |      * @return 返回结果 | 
 |  |  |      */ | 
 |  |  |     @PostMapping("/upVideo") | 
 |  |  |     @SsoPowerAop(power = "-1") | 
 |  |  | 
 |  |  |                                 null); | 
 |  |  |                         String fileMainName = fileOp.getFileMainName(frVo.fileName) ; | 
 |  |  |                         Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath); | 
 |  |  |                         FileVo fvo = new FileVo(id, frVo.fileNameHash, fileNameGrp[0], fileNameGrp[1],frVo.getFileWebUrl() + frVo.getFileWebPath(), null, frVo.fileSysRestUrl + frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         FileVo fvo = new FileVo(id, | 
 |  |  |                                 frVo.fileNameHash, | 
 |  |  |                                 fileNameGrp[0], | 
 |  |  |                                 fileNameGrp[1], | 
 |  |  |                                 frVo.getFileWebUrl() + frVo.getFileWebPath(), | 
 |  |  |                                 null, | 
 |  |  |                                 frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         return  BaseResponseUtils.buildSuccess(fvo) ; | 
 |  |  |                     }else { | 
 |  |  |                         return BaseResponseUtils.buildError("未得到上传文件的扩展名"); | 
 |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 上传文档文件 | 
 |  |  |      * @param file | 
 |  |  |      * @return | 
 |  |  |      * @param file web端上传文件的post对象 | 
 |  |  |      * @return 返回结果 | 
 |  |  |      */ | 
 |  |  |     @PostMapping("/upDocument") | 
 |  |  |     @SsoPowerAop(power = "-1") | 
 |  |  | 
 |  |  |                 String[] fileNameGrp = fileOp.splitFileName(file) ; | 
 |  |  |                 if(fileNameGrp != null && fileNameGrp[0] != null && fileNameGrp[1] != null){ | 
 |  |  |                     if(!fileNameGrp[1].trim().equals("")){ | 
 |  |  |                        String fileExtName = fileNameGrp[1]; | 
 |  |  |                        if(!supportedFileTypes.contains(fileExtName)){ | 
 |  |  |                            return BaseResponseUtils.buildError("请上传Word,Excel,PDF类型文档"); | 
 |  |  |                        } | 
 |  |  |                         FileRestVo frVo = fileOp.saveFile(file, | 
 |  |  |                                 fmUrl, | 
 |  |  |                                 FileConstant.fileRequestMapping, | 
 |  |  | 
 |  |  |                                 null); | 
 |  |  |                         String fileMainName = fileOp.getFileMainName(frVo.fileName) ; | 
 |  |  |                         Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath); | 
 |  |  |                         FileVo fvo = new FileVo(id, frVo.fileNameHash, fileNameGrp[0], fileNameGrp[1],frVo.getFileWebUrl() + frVo.getFileWebPath(), null, frVo.fileSysRestUrl + frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         FileVo fvo = new FileVo(id, | 
 |  |  |                                 frVo.fileNameHash, | 
 |  |  |                                 fileNameGrp[0], fileNameGrp[1], | 
 |  |  |                                 frVo.getFileWebUrl() + frVo.getFileWebPath(), | 
 |  |  |                                 null, | 
 |  |  |                                 frVo.fileWebDownloadPath + id) ; | 
 |  |  |                         return  BaseResponseUtils.buildSuccess(fvo) ; | 
 |  |  |                     }else { | 
 |  |  |                         return BaseResponseUtils.buildError("未得到上传文件的扩展名"); | 
 |  |  | 
 |  |  |      * @param newName 文件新名称 | 
 |  |  |      * @param hash  文件新名称的哈希值 | 
 |  |  |      * @param filePath 文件服务端存储相对路径 | 
 |  |  |      * @return | 
 |  |  |      * @return 数据记录主键 | 
 |  |  |      */ | 
 |  |  |     private Long saveFileInfo(String orgName, String extName, String newName, Integer hash, String filePath){ | 
 |  |  |         OthFile po = new OthFile() ; |