泛微ECOLOGY9知识预览文件超出大小限制的一种解决方法

问题描述如图:

在这里插入图片描述
泛微自带的文档预览由于大小限制,所以很多文档都无法打开,除非买永中或者金山付费的在线预览服务做集成。 不过现在有很多开源的在线预览软件如 onlyoffice 等,也可以实现在线预览,所以只要跟泛微OA做点集成就可以了。

实现方法:

1、泛微OA开发文档下载接口,供onlyoffice下载到本地进行转换预览。

这一步进我原来的文章:泛微ECOLOGY9实现在不登录状态根据文档ID调用文档的接口实现
https://blog.csdn.net/dycp125/article/details/130950347
不过为了满足文档多附件时的下载调用,对代码做了一点修改,调整为根据 docid和imagefileid 获取文档,或者根据 docid 获取单附件文档,或者根据 imagefileid 直接获取图片。
代码如下:

import weaver.conn.RecordSet;
import weaver.file.ImageFileManager;
import weaver.general.BaseBean;
import weaver.general.Util;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.Null;
import java.io.*;
import java.net.URLEncoder;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
/** * 下载和在线打开PDF文件 * 使用说明 http://note.youdao.com/s/77miwS0Q */
public class FileServlet extends HttpServlet {
   
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        request.setCharacterEncoding("utf-8");
        response.setContentType("application/x-zip-compressed;charset=utf-8");        // 获取http传过来的参数
        String docid = request.getParameter("docid");
        String imageid = request.getParameter("imageid");
        String method = "";
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");

        String sql = "";

        if(imageid !="" && imageid != null && docid !="" && docid !=null){
   
            try {
   
                if (!pattern.matcher(docid).matches()) {
   
                    docid = com.api.doc.detail.util.DocDownloadCheckUtil.DncodeFileid(docid);
                }
            } catch (Exception e) {
   
                e.printStackTrace();
            }
            sql = " select docimagefile.imagefileid as imagefileid,filerealpath,imagefiletype,imagefile.imagefilename,iszip from imagefile,docimagefile "
                    + " where imagefile.imagefileid =docimagefile.imagefileid  and  docimagefile.docid='" + docid + "' and docimagefile.imagefileid='"+imageid+"'";
        }else if((imageid !="" && imageid !=null) && (docid =="" || docid == null)){
   
            try {
   
                if (!pattern.matcher(imageid).matches()) {
   
                    imageid = com.api.doc.detail.util.DocDownloadCheckUtil.DncodeFileid(imageid);
                }
            } catch (Exception e) {
   
                e.printStackTrace();
            }
            sql = "select imagefileid,filerealpath,imagefiletype,imagefilename,iszip from imagefile "
                    + " where imagefileid='" + imageid + "'";
        }else if((imageid =="" || imageid ==null) && (docid !="" && docid != null)){
   
            try {
   
                if (!pattern.matcher(docid).matches()) {
   
                    docid = com.api.doc.detail.util.DocDownloadCheckUtil.DncodeFileid(docid);
                }
            } catch (Exception e) {
   
                e.printStackTrace();
            }
            sql = " select docimagefile.imagefileid as imagefileid,filerealpath,imagefiletype,imagefile.imagefilename,iszip from imagefile,docimagefile "
                    + " where imagefile.imagefileid =docimagefile.imagefileid  and  docimagefile.docid='" + docid + "'"
### OA系统中发票附件预览显示空白的可能原因分析 在OA系统中遇到发票附件预览显示为空白的情况,通常可能是由以下几个方面引起: - **文件上传路径配置错误**:如果服务器上的文件存储路径设置不正确,可能导致前端无法正常加载并展示图片或PDF文档[^1]。 - **浏览器兼容性问题**:不同版本的浏览器对于某些类型的文件支持程度有所差异,特别是针对特定编码方式处理不当的情况下容易造成渲染失败。 - **权限控制异常**:当用户的访问权限不足以读取指定资源时也会表现为页面上呈现一片空白的状态。这涉及到安全策略以及角色分配机制等方面的内容。 - **插件冲突或者缺失必要的组件**:一些高级功能依赖于额外安装的支持软件来实现完整的交互体验;缺少这些辅助工具同样会影响最终效果的表现形式。 ### 解决方案建议 #### 方法一:检查文件上传路径配置 确认应用服务器端关于静态资源(如图像、PDF等)的位置设定是否准确无误,并确保该目录下的所有子项都具有可执行权限以便能够被顺利调用。 ```bash # Linux环境下查看某个目录及其下级对象属性命令示例 ls -l /path/to/your/resource/directory/ ``` #### 方法二:测试多款主流浏览器环境 尝试更换其他常用Web客户端重新打开链接地址,观察是否存在一致性的表现模式。如果是单一平台特有的现象,则考虑升级至最新稳定版或是调整相应参数选项以获得更好的适配度。 #### 方法三:审查账户授权情况 核对当前登录身份所对应的组别里是否有足够的权利去获取目标数据集。必要时联系管理员协助排查具体哪一部分出现了偏差从而采取针对性措施加以修正。 #### 方法四:验证附加模块状态 确保所有的必需品都已经成功部署完毕并且处于激活状态下运行良好。例如Adobe Reader插件用于解析PDF格式内容,在线Office套件负责编辑Word/Excel表格等等。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东枫落定

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值