_Onelone丶 2022-11-18 15:18 采纳率: 41.2%
浏览 1
已结题

springboot 群晖服务器生成的word不能查看图片

问题遇到的现象和发生背景

springboot用poi把富文本转成word保存到本地,在windows下打开生成的word可以看到图片,但是群晖nas上打开不显示图片,我把群晖nas服务器上生成的word下载到windows可以查看图片,

用代码块功能插入代码,请勿粘贴截图
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.14</version>
        </dependency>
        Article  article= articleService.getById(id);
        String title = article.getTitle();
        String text = article.getContent();
        try {
            //word内容
            String content="<html><body>" +
                    "<p style=\"text-align: center;\"><span style=\"font-family: 宋体, SimHei; font-size: 24px;\">"
                    + title + "</span></p>" + text + "</body></html>";
            byte b[] = content.getBytes("GBK");  //这里是必须要设置编码的,不然导出中文就会乱码。
            ByteArrayInputStream bais = new ByteArrayInputStream(b);//将字节数组包装到流中

            /*
             * 关键地方
             * 生成word格式 */
            POIFSFileSystem poifs = new POIFSFileSystem();
            DirectoryEntry directory = poifs.getRoot();
            directory.createDocument("WordDocument", bais);

            String account="temp";
            if (ShrioUtil.getLoginUser() != null) {
                account = ShrioUtil.getLoginUser().getAccount();
            }
            String uploadPath = Constants.SEPARATOR+account + Constants.SEPARATOR+Constants.FILE+ Constants.SEPARATOR;
            String dirPath = webUploadPath + uploadPath;
            File dir = new File(dirPath);
            if (!dir.exists()){
                boolean mkdirs = dir.mkdirs();
                if (!mkdirs) {
                    throw new Exception("创建目录失败!" + dir.getAbsolutePath());
                }
            }
            //保存到文件服务器
            FileCopyUtils.copy(poifs.createDocumentInputStream("WordDocument"),new FileOutputStream(dirPath+title+".docx"));

运行结果及报错内容

这是windows上的word

img


这是在群晖上打开的word

img

我的解答思路和尝试过的方法

修改编码等等都无法达到效果,有遇到这种情况的老哥吗?

我想要达到的结果

服务器上的word能够显示图片

  • 写回答

1条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2022-11-18 22:03
    关注

    是不是有一些字符没拷贝过去,所以是字体缺失了。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月24日
  • 修改了问题 11月18日
  • 修改了问题 11月18日
  • 创建了问题 11月18日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c