| @@ -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 { | |||