1,由于是net core的项目,提交的文件有图片,也有PDF文件,由于做了统一处理,都转成了base64,那么图片很好处理,那么PDF文件呢?

2,最开始想的是把PDF文件转成图片,然后再转为base64,好像这个思路也没毛病,解决问题优先嘛,找了资料发现啊,net core中插件不多,而且环境问题处理麻烦,这个还可能造成后面发布出问题,果断放弃!

3,那么后端不处理,看前端有没办法处理,那么就是把PDF文件的base64转一下,然后呈现出来,找下资料发现有个PDF.js的插件,好家伙,后面也整出来了,可是我不满意,太麻烦!

4,完成了,但是我不满意,个人喜欢简单粗暴,所以在想,图片可以直接显示base64,标签声明是图片的base64就可以了,那么改下声明呗,试了下,果然不行,找了很久发现换个标签就行了,使用iframe就可以,丢,搞了半天被一个iframe搞定了!简单粗暴

以下是代码,测试用的后端代码

 private readonly ILogger<HomeController> _logger;private readonly IMessage _iMessage;private readonly IHostingEnvironment _hostingEnvironment;public HomeController(ILogger<HomeController> logger, IMessage message, IHostingEnvironment hostingEnvironment){_logger = logger;_iMessage = message;_hostingEnvironment = hostingEnvironment;}public IActionResult Index(){ViewBag.mess = _iMessage.Send();ViewData["asd"] = _iMessage.Send();_logger.LogInformation("启动首页");string webRootPath = _hostingEnvironment.WebRootPath;ViewBag.BaseStrData = getBase64str(webRootPath + @"\js\go.jpg");var paf64 = getBase64str(webRootPath + @"\js\111.pdf");ViewBag.BaseStrData2 = paf64 + "#";  //区分pdfbase64List<string> baseStrData = new List<string>();baseStrData.Add(ViewBag.BaseStrData);baseStrData.Add(ViewBag.BaseStrData2);ViewBag.BaseStrData3 = baseStrData;return View();}string getBase64str(string filePath){FileInfo file = new FileInfo(filePath);//图片处理var stream = file.OpenRead();byte[] buffer = new byte[file.Length];//读取图片字节流stream.Read(buffer, 0, Convert.ToInt32(file.Length));//将字节流转化成base64字符串var baseStr = Convert.ToBase64String(buffer);return baseStr;}

前端代码

重点代码:

@{ViewData["Title"] = "Home Page";var data = ViewBag.BaseStrData3 as List<string>;
}
       <table><tr>@foreach (var item in data){if (item.Contains("#")){<td><iframe height="300" src="data:application/pdf;base64,@item.Split('#')[0].ToString()"></iframe></td>}else{<td><img id="img" height="300" src="https://img-blog.csdnimg.cn/2022010709342232709.png" class="image_click" /></td>}}</tr></table>

效果如下

一张图片,一个PDF显示,PDF上还带有些功能(下载,打印等)挺不错,样式效果啥的,自己慢慢去优化,就可以了 !

PDF文件转base64显示相关推荐

  1. java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作

    1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...

  2. 在linux系统下java实现pdf导出汉字无法显示_ubuntu/Linux PDF文件中文无法显示或中文为方块的解决方法...

    ubuntu1004,pdf文件有的无法显示中文,解决办法如下: 1. 先安装字体 A.sudo apt-get install xpdf-chinese-simplified; B. sudo ap ...

  3. PDF文件转换为Base64编码

    在线base64转pdf:格式转换 包名: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...

  4. Java操作pdf文件与Base64编码相互转换与文件流操作

    1.第一步,引入bc包的安装依赖. 在pom.xml中引入. <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jd ...

  5. 如何修改 pdf 文件默认的显示图标

    通过修改注册表的方式,来调整 Windows10 操作系统里指定文件格式显示的默认图标,我已经在这篇文章里介绍了. 对于 pdf 格式的文件来说,同理: 找到 pdf 文件在 Windows10 系统 ...

  6. 无法检索文件服务器,无服务器快速无法检索pdf文件(base64编码)

    我已经建立了一个快速/无服务器应用程序来检索一个GET请求的PDF文件.但我只是检索一个损坏的repsonse pdf回应.我只是想知道如果我的设置是正确的,以实现正确的回应.无服务器快速无法检索pd ...

  7. 实现FTP服务器免登陆下载PDF文件转base64在下载到本地|服务器

    最近碰到一个问题,就是实现调用FTP服务器免登陆下载在进行展示,在这里分享下源码,能帮助到你的请点个赞呐呐呐! 上源码+注释 import java.io.ByteArrayOutputStream; ...

  8. php中嵌入pdf文件,使用Base64在PHP中附加PDF文件(Appending PDF Files in PHP with Base64)

    使用Base64在PHP中附加PDF文件(Appending PDF Files in PHP with Base64) 我有一系列我想合并在一起的base64 PDF文件. 目前我正在使用file_ ...

  9. html 加载pdf文件内容不显示不出来,pdf.js首次加载pdf文件时找不到pdf文件,刷新后才能出现pdf文件...

    前台点击文件学码的定一近,更工广款近,更工广款近,更名后,后台通过openoffice将doc文件转为pdf格式文件,然后存放在服务器tomcat'中,pdf.js首次加载服务器中tomcat中的转化 ...

  10. C#PDF转图片,支持批量转,支持PDF文件,BASE64转换为图片文件,BASE64,支持合并PDF为一张图

    大家好呀,我是一名Java开发工程师,最近公司项目遇到PDF转图片超时问题,经过排查,PDF文件大概在2-3M左右,使用pdfbox转换大概7-8秒(并且存在转换空白的问题),使用icepdf更长,经 ...

最新文章

  1. ORACLE 定时执行存储过程
  2. ubuntu apache服务器和gitweb服务器搭建
  3. python判断水仙花数
  4. OpenBUGS抽样数据基本操作
  5. 凌云一周看点 | 混合云多Region架构;云上用户定制化网络;边缘云全站加速;什么是操作系统的云原生...
  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者
  7. 计算机大学离散数学难吗,大学离散数学怎么学
  8. 什么软件可以测试电信网速,测试网速的简单的三种方法
  9. 周立功串口服务器维修方法,周立功医生| 告诉你RS485通信的小秘密
  10. AI实现矢量图片批量转dwg
  11. 60天使用百词斩背单词的感想
  12. excel颠倒顺序从下到上排列的两种方法
  13. 100%解决GitHub打不开或者打开慢
  14. TPS和QPS的区别和理解
  15. java 组件是什么意思_java中组件是什么意思?
  16. matlab 条件方程组的解,solve 时解方程组的限制条件问题
  17. 装修店铺营销活动策划?
  18. 蒜头君给出若干个整数,询问其中是否有一对数的和等于给定的数。
  19. #NAME?_#NAME?:EXCEL表中出现#NAME是什么意思?
  20. 电动汽车充放电最优调度 研究了EV充电和放电的调度优化问题 我们首先制定全局调度优化问题,其中优化充电功率以最小化所有在白天执行充电和放电的EV的总成本

热门文章

  1. 关于微信精选留言点赞刷赞之公众号评论点赞及文章评论点赞软件使用方法
  2. win7藏文打印部分文字乱码问题处理
  3. 使用rkhunter检测rootkit
  4. python 指定时间运行代码
  5. 基于SSM的宠物医院信息管理系统javaweb毕业设计项目源码论文
  6. 官方原版Windows XP SP3(VOL)简体中文版ISO下载
  7. Chrome浏览器安装扩展程序后菜单栏图标不显示
  8. 如果你不会扒谱,来吧,这款软件给你超能力
  9. php仿小红书,vue仿小红书个人开源项目
  10. 【实验技术笔记】RNA 抽提 + 反转录PCR + PCR引物设计 + RT-qPCR