| | |
| | | import com.whyc.constant.YamlProperties; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.UrlDownload; |
| | | import com.whyc.util.Word2PdfJacobUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | @ApiOperation(value = "转化") |
| | | public Response transfer(@RequestParam String url,@RequestParam String fileName) throws IOException { |
| | | //过滤格式必须为 http://[ip]/zenta |
| | | url = URLDecoder.decode(url,"utf-8"); |
| | | //url = URLDecoder.decode(url,"utf-8"); |
| | | boolean matches = Pattern.matches("^http://(\\d{1,3}\\.){3}\\d{1,3}/zenta.*",url); |
| | | if(!matches){ |
| | | return new Response().setII(0,"接口调用异常,参数错误"); |
| | | } |
| | | //过滤特殊字符,避免路径遍历攻击 |
| | | fileName = URLDecoder.decode(fileName,"utf-8"); |
| | | //fileName = URLDecoder.decode(fileName,"utf-8"); |
| | | fileName = ActionUtil.filterFileName(fileName); |
| | | String fileUrl = url; |
| | | String filePath; |
| | |
| | | Word2PdfJacobUtil.word2PDF(fileUrl,filePath+File.separator+fileName+".pdf"); |
| | | return new Response().set(1,fileName,"转化成功"); |
| | | } |
| | | else if(fileName.contains("xls")){ |
| | | //qi an xin 输入验证>服务器请求伪造 |
| | | /*else if(fileName.contains("xls")){ |
| | | suffix = ".xls"; |
| | | fileName = fileName.split("\\.xls")[0]; |
| | | } |
| | |
| | | suffix = ".pdf"; |
| | | fileName = fileName.split("\\.pdf")[0]; |
| | | } |
| | | UrlDownload.downLoadFromUrl(fileUrl,fileName+suffix,filePath); |
| | | UrlDownload.downLoadFromUrl(fileUrl,fileName+suffix,filePath);*/ |
| | | return new Response().set(1,fileName+suffix,"保存成功"); |
| | | } |
| | | |