iframe展示pdf、png、jpg

iframe展示pdf、png、jpg:

1、前端定义div:

<div id="pdf-container"></div>/*dpf的div*/
<iframe id="imageFrame"></iframe>/*图片的div*/

2、后端查询base64的流,前端页面初始化js方法:(pdf和图片,2个方法)

/*pdf展示*/
function pdfToShow(){
   
	// 这里的 base64Data 是你的 base64 编码的 PDF 数据
	var base64Data =$("#fileBase64").val()
	console.log("base64Data",base64Data)
	const byteCharacters = atob(base64Data);
	const byteNumbers = new Array(byteCharacters.length);
	for (let i = 0; i < byteCharacters.length; i++) {
   
		byteNumbers[i] = byteCharacters.charCodeAt(i);
	}
	const byteArray = new Uint8Array(byteNumbers);
	const blob = new Blob([byteArray], {
    type: 'application/pdf' });

// 创建一个新的 URL,并设置文件名
	const url = URL.createObjectURL(blob);
	var pdfContainer = document.getElementById("pdf-container");
	const iframe = document.createElement('iframe');
	iframe.src = url;

// 修改文件名(这部分实现可能因浏览器而异)
	iframe.setAttribute('download', 'your_desired_filename.pdf');

// 将 iframe 添加到文档中显示
	pdfContainer.appendChild(iframe);
}

/*图片展示*/
/*根据imageType 判断图片类型*/
function picToShow(){
   
	var base64Image =$("#fileBase64").val();
	var iframe = document.getElementById("imageFrame");
	//var imageType = "image/png"; // 或者 "image/jpeg"
	var imageType = (fileType=="jpg"? "image/jpg":"image/png");
	// 将Base64编码的图片数据转换为二进制格式
	var binaryImage = atob(base64Image);
	var byteArray = [];

	for (var i = 0; i < binaryImage.length; i++) {
   
		byteArray.push(binaryImage.charCodeAt(i));
	}

	// 设置iframe的src属性为二进制图片数据
	iframe.src = "data:" + imageType + ";base64," + btoa(String.fromCharCode.apply(null, byteArray));
}

3、调整下一般般的样式,自己看着搞:

	<style>
		#pdf-container {
   
			width: 100%; /* 设置div的宽度为100% */
			height: 710px; /* 设置div的高度为100% */
		}

		iframe {
   
			width: 100%; /* 设置iframe的宽度为100% */
			height: 100%; /* 设置iframe的高度为100% */
		}

		#imageFrame{
   
			width: 100%; /* 设置div的宽度为100% */
			height: 710px; /* 设置div的高度为100% */
		}
	</style>

4、效果展示:
请添加图片描述
程序猿需要熟玩流?不存在的,cv完事!

相关推荐

  1. HTML — 框架 iframe

    2023-12-29 04:40:03       59 阅读
  2. Flask template中使用iframe

    2023-12-29 04:40:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 04:40:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 04:40:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 04:40:03       82 阅读
  4. Python语言-面向对象

    2023-12-29 04:40:03       91 阅读

热门阅读

  1. 路径规划算法实现

    2023-12-29 04:40:03       55 阅读
  2. c++ 重写 重构 重载

    2023-12-29 04:40:03       45 阅读
  3. F-44 字段显示不全

    2023-12-29 04:40:03       49 阅读
  4. Python 自动程序数字炸弹游戏

    2023-12-29 04:40:03       54 阅读
  5. 【洛谷】爱与愁的心痛

    2023-12-29 04:40:03       56 阅读
  6. Python子进程内numpy.random失效

    2023-12-29 04:40:03       66 阅读
  7. python实现rtmp推流

    2023-12-29 04:40:03       66 阅读
  8. select poll epoll

    2023-12-29 04:40:03       54 阅读
  9. Linux w和who命令:查看登陆用户信息

    2023-12-29 04:40:03       61 阅读
  10. python类编写的异常

    2023-12-29 04:40:03       56 阅读
  11. [读书笔记]网空态势感知理论与模型

    2023-12-29 04:40:03       50 阅读
  12. 【YOLO系列】YOLOv3代码详解(四):模型脚本model.py

    2023-12-29 04:40:03       50 阅读
  13. 进击的奶牛

    2023-12-29 04:40:03       63 阅读