前端预览文档(docx,txt,xml)
作者:互联网
这里后端返回的是文档的URL,XHR请求配合mammoth.js来实现文档的预览
mammoth.js的文档地址 : https://www.npmjs.com/package/mammoth
handlerDocPreview(path, row) {
//这里解释一下参数的意义,path为传过来的文档路径
//row:这里是采用iview的taber,row为每一行的数据
try {
let fileUrl ="http://172.16.40.25:11000/qbwj_qb_file/情报文件/demo_data.docx"
//这里利用XHR发送请求,
var xhr = new XMLHttpRequest();
xhr.open("get", fileUrl, true);
xhr.overrideMimeType("text/html;charset=utf-8");
const that = this;
xhr.onload = function(e) {
if (xhr.status === 200) {
let ifm = document.getElementById("myiframe");
if (row.qbFileType == "docx") {
//判断文档类型 docx需要转换,txt以及XML可以直接使用 xhr.response
const data = new Uint8Array(xhr.response); // 可直接使用xhr.reponse
mammoth
.convertToHtml({ arrayBuffer: data })
.then((result) => {
// console.log(result.value);
ifm.innerHTML = result.value;
})
.done();
} else {
ifm.innerHTML = xhr.response;
}
}
};
xhr.send();
} catch (e) {
console.log(e);
}
},
标签:xml,docx,xhr,文档,ifm,mammoth,txt,row 来源: https://blog.csdn.net/qq_38974956/article/details/115485181