@RequestMapping(value = "/getContent", method = RequestMethod.GET) public void getContent(@RequestParam("fileUrl") String fileUrl, @RequestParam("fileFormat") String contentType, @RequestParam("certificateType") String name, @RequestParam("noLength") String noLength) throws IOException { fileUrl = Base64Util.decode(fileUrl); if (StringUtil.isNotBlank(fileUrl)) { InputStream content = null; int bytesum = 0; int byteread = 0; URL url = new URL(fileUrl);//目标地址 try { URLConnection conn = url.openConnection(); content = conn.getInputStream(); OutputStream fs = response.getOutputStream(); String nametype = name + "." + contentType.toLowerCase(); response.setHeader("Content-Disposition", "attachment;filename=" + new String(nametype.getBytes("gb2312"), "ISO8859-1")); //返回的文件名设置一下编码 response.setHeader("Content-Type", "ofd"); byte[] buffer = new byte[1204]; int length; while ((byteread = content.read(buffer)) != -1) { bytesum += byteread; fs.write(buffer, 0, byteread); //直接把输出流进行写出 } } catch (Exception e) { e.printStackTrace(); } } }
Java转发三方下载接口,实现封装
于 2024-02-19 15:32:37 首次发布