diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 565edb14f..dbc779abc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -26,13 +26,13 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; +import java.net.HttpURLConnection; import java.net.URL; import java.util.*; +import static org.springframework.core.io.buffer.DataBufferUtils.readInputStream; + /** * @author gongbiao */ @@ -137,6 +137,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { pDest.mkdirs(); } try { + //downLoadFromUrl(wxRentContract.getFilepath(),filename,filepath); FileUtils.copyURLToFile(new URL(wxRentContract.getFilepath()),dest); downFile(destPath, filename, response, request); org.apache.commons.io.FileUtils.forceDelete(dest); @@ -221,6 +222,50 @@ public class WxRentContractServiceImpl implements WxRentContractService { return resultData; } + public static void downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException{ + URL url = new URL(urlStr); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + //设置超时间为3秒 + conn.setConnectTimeout(3*1000); + //防止屏蔽程序抓取而返回403错误 + conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + + //得到输入流 + InputStream inputStream = conn.getInputStream(); + //获取自己数组 + byte[] getData = readInputStream(inputStream); + + //文件保存位置 + File saveDir = new File(savePath); + if(!saveDir.exists()){ + saveDir.mkdir(); + } + File file = new File(saveDir+File.separator+fileName); + FileOutputStream fos = new FileOutputStream(file); + fos.write(getData); + if(fos!=null){ + fos.close(); + } + if(inputStream!=null){ + inputStream.close(); + } + + + System.out.println("info:"+url+" download success"); + + } + + public static byte[] readInputStream(InputStream inputStream) throws IOException { + byte[] buffer = new byte[1024]; + int len = 0; + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + while((len = inputStream.read(buffer)) != -1) { + bos.write(buffer, 0, len); + } + bos.close(); + return bos.toByteArray(); + } + public void downFile(String filePath, String filename, HttpServletResponse response, HttpServletRequest req) { try {