当前位置: 首页 > news >正文

网站建设什么专业建设网站经营范围

网站建设什么专业,建设网站经营范围,外贸seo,免费网页模板源代码读取连接中文件流和页面展示base64编码的文件 背景需求从接口处获取base64编码的字节流依赖java 代码 前端展示pdf图片 背景需求 我需要展示一个pdf 文件在页面上,但是我一直没办法将 pdf的下载链接用预览方式展示出来,于是打算讨个巧,直接给…

读取连接中文件流和页面展示base64编码的文件

  • 背景需求
    • 从接口处获取base64编码的字节流
      • 依赖
      • java 代码
    • 前端展示
      • pdf
      • 图片

背景需求

我需要展示一个pdf 文件在页面上,但是我一直没办法将 pdf的下载链接用预览方式展示出来,于是打算讨个巧,直接给前端页面发送 Base64 编码的字符串,用来展示pdf文件。而正好我们的文件也有一个获取流的接口。于是,变出现了这篇文章。

从接口处获取base64编码的字节流

依赖

        <dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>3.4.0</version></dependency>

java 代码

  1. 直接从 URL 获取流
    public static String downloadFile3(String UrlFilePath, String localFilePath) {URL url = null;HttpURLConnection httpUrl = null;try {url = new URL(UrlFilePath);httpUrl = (HttpURLConnection) url.openConnection();// 设置请求方式,默认是GET// httpUrl.setRequestMethod("POST");httpUrl.connect();try (BufferedInputStream bis = new BufferedInputStream(httpUrl.getInputStream())) {byte[] bytes = IOUtils.toByteArray(bis);String base64String = Base64.getEncoder().encodeToString(bytes);// Write the BASE64 encoded string to the filetry (BufferedWriter writer = new BufferedWriter(new FileWriter(localFilePath))) {writer.write(base64String);}return base64String;}} catch (Exception e) {e.printStackTrace();}return "";}
  1. 发送 GET 请求 获取流
/*** @param url 远程文件路径* @return base64 编码字符串*/public static String byGet(String url) {// 创建Httpclient对象CloseableHttpClient httpclient = HttpClientBuilder.create().build();RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setConnectionRequestTimeout(30000).setSocketTimeout(30000).build();String resultString = "";CloseableHttpResponse response = null;try {URIBuilder builder = new URIBuilder(url);URI uri = builder.build();// 创建http GET请求HttpGet httpGet = new HttpGet(uri);httpGet.setConfig(requestConfig);httpGet.addHeader("Content-type", "application/json; charset=utf-8");// 执行请求response = httpclient.execute(httpGet);// 判断返回状态是否为200if (response.getStatusLine().getStatusCode() == 200) {InputStream inputStream = response.getEntity().getContent();byte[] bytes = IOUtils.toByteArray(inputStream);BASE64Encoder encoder = new BASE64Encoder();resultString = encoder.encode(bytes);return resultString;}} catch (Exception e) {} finally {try {if (response != null) {response.close();}httpclient.close();} catch (IOException e) {e.printStackTrace();}}return "";}

前端展示

pdf

        function viewPdf (content) {const blob = this.base64ToBlob(content)if (window.navigator && window.navigator.msSaveOrOpenBlob) {window.navigator.msSaveOrOpenBlob(blob)} else {const fileURL = URL.createObjectURL(blob)window.open(fileURL)}}function base64ToBlob (code) {code = code.replace(/[\n\r]/g, '')const raw = window.atob(code)const rawLength = raw.lengthconst uInt8Array = new Uint8Array(rawLength)for (let i = 0; i < rawLength; ++i) {uInt8Array[i] = raw.charCodeAt(i)}return new Blob([uInt8Array], { type: 'application/pdf' })}

图片

let ImgURL ="\<img src=\"data:image/png;base64," + content + "\">";

将拼接好的 ImgURL 拼接即可

http://www.yayakq.cn/news/101235/

相关文章:

  • 网站的营销功能做公司网站需要注意什么
  • 升级网站订阅号如何申请
  • 国外购物网站赏析大连网站设计费用
  • 网站开发需求文档模板带er图网站关键词进前三
  • 网站权重是怎样进行传递的网站解析慢 优化
  • 网站开发方向 英语翻译一个人在线观看播放视频
  • 网站建设营销词西安是哪个省属于哪个市
  • 网站建设招投标大连百度推广哪家好
  • 网站架构策划外贸免费建设网站
  • php网站301重定向网站建设做网站费用
  • 宜昌本地网站东莞网络营销外包价格
  • 上海买二手房做哪个网站好wordpress themes.php
  • 做专业慢摇的网站发布建设网站
  • 网站制作网免费大邑县建设银行网站
  • 网站首页轮播图怎么做职工素质建设 网站
  • 网站设计排行榜凡科网站建设推广
  • 网站怎么做七牛云加速公司怎么做网站需要多少钱
  • 家政服务公司网站源码礼嘉网络推广
  • 影视网站建设目的抖音代运营案例
  • 国家级建设网站成都公司的网站制作
  • 泰安公司网站建设wordpress 反广告屏蔽
  • 服务器做php网站网站代理怎么做的
  • 网站关键词在哪里看国家开发银行贷款学生在线系统
  • 佛山网站建设优化外包网易怎么样
  • 做网站的公司周年活动成都品牌logo设计
  • 一个做问卷调查的网站互联网运营在线培训
  • 二级域名网站怎么建设公司网站制作模板
  • 哪个网站做设计可以挣钱中国进入一级战备2023
  • 织梦上网站次导航怎么做肃宁网站建设公司
  • 厦门市同安区建设工程质量安全监督站网站山东省建设管理中心网站首页