1、代码
public void downloadApiDoc(HttpServletResponse response) { ClassPathResource classPathResource = new ClassPathResource("api.pdf"); try (InputStream inputStream = classPathResource.getInputStream()){ //得到文件大小 int size =inputStream.available(); byte[] data =new byte[size]; //读数据 inputStream.read(data); inputStream.close(); response.reset(); //设置返回的文件类型 response.setContentType("application/pdf"); response.setHeader("Content-disposition", "inline; filename=Api_Doc.pdf"); response.setContentLength(size); OutputStream os = response.getOutputStream(); os.write(data); } catch (IOException e) { e.printStackTrace(); log.info("download api doc"); } }
2、原因:使用的classpath,虽然resources下有文件大门时traget的class下没有文件所有找不到
3、解决:重新build一下