/** * @Description 获得pdf路径 * **/ public static String getUrl(String fileUrl){ String fileResult = ""; try { // String fileUrl = "https://img-pre.ivsky.com/img/tupian/pre/202010/25/futou-003.jpg"; String fileName = fileUrl.substring(fileUrl.lastIndexOf("/")); //System.out.println("fileName---->"+fileName); String filePath = "E:/ideaProjects/110/bt_cms/cms-web/src/main/resources/static/themes/btga/oa"; String resultName = String.valueOf(new Date().getTime() + ".png"); File file = saveUrlAs(fileUrl, filePath + fileName,"GET",resultName); String fileStr = file.getPath(); String str1=fileStr.substring(0, fileStr.indexOf("static")); //获得static文件夹以后的文件的路径 fileResult =fileStr.substring(str1.length()+6, fileStr.length()) +"/"+ resultName; System.out.println("Run ok!/n<BR>Get URL file " + fileResult ); }catch (Exception e){ e.printStackTrace(); } return fileResult; }
/** * @Description 下载文件保存地址 * **/ public static File saveUrlAs(String url,String filePath,String method, String resultName){ //System.out.println("fileName---->"+filePath); //创建不同的文件夹目录 File file=new File(filePath); //判断文件夹是否存在 if (!file.exists()){ //如果文件夹不存在,则创建新的的文件夹 file.mkdirs(); } FileOutputStream fileOut = null; HttpURLConnection conn = null; InputStream inputStream = null; try{ // 建立链接 URL httpUrl=new URL(url); conn=(HttpURLConnection) httpUrl.openConnection(); //以Post方式提交表单,默认get方式 conn.setRequestMethod(method); conn.setDoInput(true); conn.setDoOutput(true); // post方式不能使用缓存 conn.setUseCaches(false); //连接指定的资源 conn.connect(); //获取网络输入流 inputStream=conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(inputStream); //判断文件的保存路径后面是否以/结尾 if (!filePath.endsWith("/")) { filePath += "/"; } //写入到文件(注意文件保存路径的后面一定要加上文件的名称) fileOut = new FileOutputStream(filePath+resultName); BufferedOutputStream bos = new BufferedOutputStream(fileOut); byte[] buf = new byte[4096]; int length = bis.read(buf); //保存文件 while(length != -1){ bos.write(buf, 0, length); length = bis.read(buf); } bos.close(); bis.close(); conn.disconnect(); } catch (Exception e){ e.printStackTrace(); System.out.println("抛出异常!!"); } return file; }