原生js预览ofd文件,JavaScript

最近项目需要预览ofd文件,于是上网搜索了一下相关知识,结果大感失望,内容很少而且没有什么用,最后根据一个博客找到了方法和总结,话不多说上代码。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>一个简易的排序按钮</title>
  <script src="./ofd.umd.js"></script>
</head>
<body>
	<input type="file" ref="file" class="hidden" accept=".ofd" onchange="fileChanged(event)" />
	<div id="ofdContainer" style="width:100%;height:800px;"></div>
	<script>
		function fileChanged(e) {
		    // 获取文件数据
		    const file = e.target.files[0];
		    // 转换ofd文档
		    ofd.parseOfdDocument({
		        ofd: file,
		        success: function (res) {
		            const screenWidth = 800;
		            const ofdRenderRes = ofd.renderOfd(screenWidth, res[0]);
		            let ofdContainerDiv = document.getElementById('ofdContainer');
		            ofdContainerDiv.innerHTML = '';
		            for (const item of ofdRenderRes) {
		                ofdContainerDiv.appendChild(item);
		            }
		        },
		        fail: function(err){
		            console.error('ofd文件渲染失败',err);
		        }
		    });
		}
	</script>
</body>
</html>

以上代码是根据 https://blog.csdn.net/s_y_w123/article/details/127545928icon-default.png?t=N7T8https://blog.csdn.net/s_y_w123/article/details/127545928 此博客而来,具体可以去看下这个博客,里面讲解了插件由来和应用。

由上面代码看出来,这里引用到一个ofd.umd.js插件,原博主没有上传此js,只是告知了怎么获取,但是对于没有vue经验的人来说还是无法获取,所有我这里直接把这个js给贴出来。

https://download.csdn.net/download/zhangyoude123/87126057icon-default.png?t=N7T8https://download.csdn.net/download/zhangyoude123/87126057

这个是包含了ofd.umd.js和demo文件的下载地址,感谢大家支持。

此demo不仅包含上述代码中的使用input[file]上传ofd文件后预览,还有预览服务器上的ofd文件,也就是后台接口返回的ofd文件的url。

// ofd文件保存在服务器上
var url = '';//ofd文件的地址url,后台接口返回的
$.ajax({
	url: url,
	type: "GET",
	contentType: false,
	processData: false,
	xhrFields: { responseType: "arraybuffer" },
	success: function (data) {
		ofd.parseOfdDocument({
		    ofd: data,
		    success: function (res) {
			    var screenWidth = 800;
			    var ofdRenderRes = ofd.renderOfd(screenWidth, res[0]);
			    var ofdContainerDiv = document.getElementById('ofdContainer');
			    // 清空元素
			    ofdContainerDiv.innerHTML = '';
			    for(var i = 0; i < ofdRenderRes.length; i++){
				    ofdContainerDiv.appendChild(ofdRenderRes[i]);
			    }
		    },
		    fail: function(err){
			    console.error('ofd文件渲染失败',err);
		    }
	    });
    }
});

展示url地址的ofd文件涉及到一些类型转化,需要先把文件转化为arraybuffer类型。

以上就是原生Js预览ofd文件相关的内容,感谢大家支持

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值