修改文件预览

main
于阔 9 months ago
parent 18e4abcc95
commit 1ea9bb36fd

@ -3,6 +3,7 @@ import mammoth from 'mammoth';
import "@vue-office/docx/lib/index.css"; import "@vue-office/docx/lib/index.css";
import { reactive,ref } from "vue"; import { reactive,ref } from "vue";
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { ElMessage } from 'element-plus';
import {queryFileFlowRepTemplateApi} from '@/api/reporting/RepTemplate/RepTemplate'; import {queryFileFlowRepTemplateApi} from '@/api/reporting/RepTemplate/RepTemplate';
const route = useRoute(); const route = useRoute();
// 线 // 线
@ -11,23 +12,33 @@ const pageQuery = ref(route || null);
const fileData = pageQuery.value?.query?.fileData; const fileData = pageQuery.value?.query?.fileData;
// //
let htmlContent = ref(""); let htmlContent = ref("");
const downLoadErrorMsg = {
"1001":"预览失败,文件路径不存在",
"1002":"预览失败,未找到文件信息",
"1003":"预览失败,请联系管理员",
}
const fetchDocFile = async ()=>{ const fetchDocFile = async ()=>{
try { try {
// APIDOC // APIDOC
const response = await queryFileFlowRepTemplateApi(fileData); const response = await queryFileFlowRepTemplateApi(fileData);
console.log(response,"response文件流信息"); console.log(response,"response文件流信息");
const arrayBuffer = response.data.arrayBuffer(); const { data, headers } = response;
// 使FileReader if(headers['status'] == 500){// WARNERROR
// const reader = new FileReader(); const code = headers['error']?headers['error'].substring(headers['error'].length-4):'1003';
// reader.onload = function(event) { console.log(code)
// const arrayBuffer = event.target.result; switch(code){
// // arrayBuffer case "1001":
// }; case "1002":
// reader.onerror = function(error) { ElMessage.error(downLoadErrorMsg[code]);
// console.error(':', error); break;
// // default:
// }; ElMessage.error(downLoadErrorMsg['1003']);
// reader.readAsArrayBuffer(fileData); break;
}
return;
}
const arrayBuffer = new File([data], 'document.docx', { type: 'doc' }).arrayBuffer();
console.log(arrayBuffer,"arrayBuffer");
const result = mammoth.convertToHtml({ arrayBuffer }); const result = mammoth.convertToHtml({ arrayBuffer });
console.log(result,"result信息"); console.log(result,"result信息");
// HTMLhtmlContent // HTMLhtmlContent
@ -38,7 +49,6 @@ const fetchDocFile = async ()=>{
} }
} }
fetchDocFile(); fetchDocFile();
</script> </script>

Loading…
Cancel
Save