1.需求:打印响应内容的pdf文件
2.场景设置:打印面单,导出响应数据中的pdf文件
3.打印面单下添加BeanShell后置处理器
方法一:
String url ="${Value}"; // 构造URL URL weburl = new URL(url); // 打开连接 URLConnection con = weburl.openConnection(); // 设置请求超时 con.setConnectTimeout(5 * 1000); // 输入流 InputStream is = con.getInputStream(); // 1K的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; // 输出的文件流 File sf = new File("G:/${SiOrderId}.pdf"); //导出路径 OutputStream os = new FileOutputStream(sf); // 开始读取 while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } // 完毕,关闭所有链接 os.close(); is.close();
方法二:
try { File file = new File("G:/${SiOrderId}.pdf"); // 文件保存路径 String downloadUrl = "${Value}"; // 地址请求链接 FileOutputStream fileOutputStream = new FileOutputStream(file); // 文件写入流 URL url = new URL(downloadUrl); // 实例化一个地址对象 URLConnection connection = url.openConnection(); // 网络请求 InputStream inputStream = connection.getInputStream(); // 获取请求响应流 int length = 0; // 缓冲成功读取长度 byte[] bytes = new byte[1024]; // 数据缓冲区大小 while ((length = inputStream.read(bytes)) != -1) { // 循环从响应流读取字节 fileOutputStream.write(bytes, 0, length); // 循环将字节写入磁盘文件 } fileOutputStream.close(); // 关闭文件写入流 inputStream.close(); // 关闭请求响应流 } catch (IOException e) { log.error("download error ! url :{}, exception:{}", downloadUrl, e); }
转载请写明出处!!!