前后端分离项目集成PageOffice——实现在线编辑Word文件的版本控制

说明:
在这里插入图片描述
PageOffice本身提供了SaveFilePage的js方法,但是由于该方法不支持代理且不能跨域导致在前后端分离项目中无法使用

功能:实现三个按钮分别保存不同版本的文件

在这里插入图片描述
1、PageOffice可以通过input隐藏域给保存方法传递参数,在页面定义一个input隐藏域并通过按钮给隐藏域赋值。

Word.vue页面

<template>
	<div class="Word">
		<input type="button" value="定稿" @click="SaveWord('定稿')"/>
        <input type="button" value="保存模板" @click="SaveWord('模板')"/>
        <input type="button" value="保存文件" @click="SaveWord('正式文件')"/>
        <input type="hidden" id="SaveVerison" value=""/>
 
		<div style="height: 800px; width: auto" v-html="poHtmlCode" />
	</div>
</template>
SaveWord(str){
      document.getElementById("SaveVerison").value = str;
      document.getElementById("PageOfficeCtrl1").WebSave();
    }

2、后端保存文件的方法中获取隐藏域的值(fs.getFormField()之前获取的是Form控件的name,后来改为id了,我用的是5.4.0.3版本获取的是id),通过判断,保存文件到对应版本目录下。fs.getFileExtName()是获取文件后缀名

@RequestMapping("save")
    public void save(HttpServletRequest request, HttpServletResponse response) {
        FileSaver fs = new FileSaver(request, response);
        String SaveVerison = fs.getFormField("SaveVerison");
        if(SaveVerison.equals("定稿")){
            fs.saveToFile("G:\\doc\\test_doc\\"+SaveVerison+fs.getFileExtName());
        }else if(SaveVerison.equals("模板")){
            fs.saveToFile("G:\\doc\\template_doc\\"+SaveVerison+fs.getFileExtName());
        }else if(SaveVerison.equals("正式文件")){
            fs.saveToFile("G:\\doc\\formal_doc\\"+SaveVerison+fs.getFileExtName());
        }
        fs.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值