| | |
| | | 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; |
| | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.net.URLDecoder; |
| | | import java.util.regex.Pattern; |
| | | |
| | | @RestController |
| | | @RequestMapping("word2Pdf") |
| | |
| | | @GetMapping("transfer") |
| | | @ApiOperation(value = "转化") |
| | | public Response transfer(@RequestParam String url,@RequestParam String fileName) throws IOException { |
| | | //过滤格式必须为 http://[ip]/zenta |
| | | //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 = ActionUtil.filterFileName(fileName); |
| | | /*String[] urlSplit = url.split("="); |
| | | String fileUrl = urlSplit[1].replace("&fileName",""); |
| | | String fileName = urlSplit[2].split("\\.")[0];*/ |
| | | url = URLDecoder.decode(url,"utf-8"); |
| | | fileName = URLDecoder.decode(fileName,"utf-8"); |
| | | 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,"保存成功"); |
| | | } |
| | | |
| | | public static void main(String[] args) throws IOException { |
| | | String url = "http:%2F%2F118.89.139.230%2Fzentao%2Fdata%2Fupload%2F1%2F202205%2F231425160378826a"; |
| | | //String url = "http:%2F%2F118.89.139.230%2Fzentao%2Fdata%2Fupload%2F1%2F202205%2F231425160378826a&fileName=%E6%95%B4%E6%94%B9%E7%BB%86%E8%8A%82v1.xls.xls"; |
| | | String fileName = "test.xls"; |
| | | String filePath = "F:\\pdf"; |
| | | url = URLDecoder.decode(url,"utf-8"); |
| | | |
| | | UrlDownload.downLoadFromUrl(url,fileName,filePath); |
| | | } |
| | | } |