| @@ -26,13 +26,13 @@ import org.springframework.transaction.annotation.Transactional; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | 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.net.URL; | ||||
| import java.util.*; | import java.util.*; | ||||
| import static org.springframework.core.io.buffer.DataBufferUtils.readInputStream; | |||||
| /** | /** | ||||
| * @author gongbiao | * @author gongbiao | ||||
| */ | */ | ||||
| @@ -137,6 +137,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| pDest.mkdirs(); | pDest.mkdirs(); | ||||
| } | } | ||||
| try { | try { | ||||
| //downLoadFromUrl(wxRentContract.getFilepath(),filename,filepath); | |||||
| FileUtils.copyURLToFile(new URL(wxRentContract.getFilepath()),dest); | FileUtils.copyURLToFile(new URL(wxRentContract.getFilepath()),dest); | ||||
| downFile(destPath, filename, response, request); | downFile(destPath, filename, response, request); | ||||
| org.apache.commons.io.FileUtils.forceDelete(dest); | org.apache.commons.io.FileUtils.forceDelete(dest); | ||||
| @@ -221,6 +222,50 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| return resultData; | 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, | public void downFile(String filePath, String filename, HttpServletResponse response, | ||||
| HttpServletRequest req) { | HttpServletRequest req) { | ||||
| try { | try { | ||||