前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工作流生成图片乱码(�PNG)

工作流生成图片乱码(�PNG)

作者头像
挑战者
发布2019-02-27 16:51:30
6810
发布2019-02-27 16:51:30
举报
文章被收录于专栏:java沉淀java沉淀java沉淀

异常信息如下:

�PNG
�
���
IHDR�������F����������
�IDATx��]L����I4��s�e/Lj���E/j����ً��F��6H�Y����h�F"���h�   ј(G+5� �** ����T���G�ȗX�!�������2dXXم�aX�O�dwfva�����}��w��д�����Ғ_SS?Tݹs��쒒�UYY�_m7\a��+��+�B��Ш��R===jpp�ϐ߾}�***�t���+Wp�Wp�W9X��&4�����%�W���
��
��r���*NZ�X���\a��+��+�B����G���
��W���
��
��������.�R{^=+9hX��:Nv����
��
�0\!
h���v�������w����m����\��\��\a�B����~��q�a��Y�'<��Wp�Wp�W�����Սw��
��� Op��\��\���+D�m��;�~�C�q���p�Wp�Wp��
Q@����\��\a��+�Bhj�!W������ Op��\��\���+D�mqs�i��!�8�   ���+��+��p�(�-~�Ѡ��>0�k+�N�q���p�Wp�Wp��
Q@���??���Y��Np��\��\�����)..��ׯ�t�\y��v�����Y��Ί�����;���������ͭ����KOO�JLL��Sn����͛�����r�ȑKڿ�������~�����:�� Op��\��\������k��� ު��F�倬��P?����|�����ի?dee
edd�3gΨ�����ѡ����H�{zzT]]����ڶm���۷�JIII����ݗ��O���%۸����Wp�Wp�W0�W�K����~�L�<�_kG�e�u��t�С��v�2����a���=z����3��x�u����,�u����L=)����0-����
'8�
��
��
6�j�^g]����������O�V���F������t�JM�������&*�/��
U�����²��TUTT�T����b�ao$�FO�����i���p�Wp��
��*0EGG����=k�+u�ԙ�?~�&�zV>�y�O��?�!�R<����;--M555�P�իW������|-�t ��/��    �����
��
�0��h���Y��=��Jz�������R�Oy'��Y�g�����祤���\.��P@O54L����\��\��\a
�(��a-vetD($�S||����S�A��,�ڡ�y��':!!�W���Fz��   ���+��p��jz��`p8�ų���鉎�v��������z�|u��u����P@c����
��
�0\}i�u�
������x��x肂���l���Ğ��l���IC9�����
�0\q<�*��y���Nu�s c�}.,�>��g��Y���C��?���^h����+��+W�O�
���ћ��l���P�ր.(�;ʅ�ә�.X%%%u��\���wG������W��0\��\������G�y��  ��7m�d�c�����s�;wN٩�'N<
��|�d~�r���A����\��\a��x�U���3���MR��m����5������'��S��ߗA�E���[|s����Ap��\���+�'\��+��gn��F�;�Z煞��IOO���겵�����+�g���m1Y�4�Ap��\���+�'\��+���\oW�*�,��O����-�+���>�s����[[L����Ap��\���+�'\��+�As9\�o��MM���̄���g�   �g��0\��\��\E�g�6���ްa�g�{��^o�,�-���)N����޽��5���c����F����O����
��
��
�f�+����=�iii�v������q������N���wG�Z�Jn��
��՚5kd�@c�\'��y���\�p�x.��,X��������&8�
��
��
���V���CǏ�޿���ݳpܺu��,��������I�������c��n���Hk��˗F�[��޽�


��799y�u����+��+��+��+;����p�;v���@�8p��,��z��Ӄ���B�^�z����xF�K��coo�jkk3Zಜ���JKK��


��\��\��\��\��W�5��?���}�~�u��O6މp ..���D�����@���m]>z��jmm5�ˣ�?u�Z�l�Z�bŬ
�n��Wp�Wp�Wp5�5�w"LNN��ԝE;v�����ή�����UEE����Ң����+W��K�.�%K���'O����u�֩�����bs�������hy��\��\��\���=�fA[\\���T>3K�s�dߺ�j�ƍ1;w������W�*�].���:|�!��/_�]�p�B�
kp�={�X�x�bc�\}*۞?�>fY����p�Wp�Wp�Wpe�t��l�����a��C�����d)���b���PTT���Y�[K�s��=����0�챶�_�x��̙3�^����l���p�Wp�Wp�Wp�
%&&�`�����
Km���g�}~����M�]勒���MMMa�����B�;�t��ۨ���c޼yj��ݪ��ٰ@����w�u�zA���&8�
��
��
����a���Cf�{�ƍ�֦eee�S�EOiG�nw���y/s�R��������"i�S�c���~��c�k���m�Lgg��\__o�_���\��x��_r�D__�_]��\��\��\��L����0TE���            Ö�}qZ;�����������h�y��966vOT��I�!'�d�1�v��"��K��S�DGG��rY,�#�"�R��p�Wp�Wp�Wpe�F�Lx�ZD�p���E[��3lØ�Y��L{gu����v�]�v�i\X�{��qi5ti'FE������H���
��
�"�֒"�zs���B��#�:U^'��>���s��'�2_���W��Qw}}�7������y����G�"m�3�Ap��\���+�����>o��m������jkk��~��uHO�I�o��&)���<����!�y�SH��BZ������g���k����2�ν^owgg�%%%���̼����"���:G�l�����Wp�W���
�fV#��������_O���`���_�\�����?��ّ"�;/R�0Hp��p��
��\���$�Ʊ��[u���d�,���!�������0\a��+��e=ҿ��'c�uQ�Ч��Q:~�������������������
��
S@#
hLp��\���+W�������+��+W���"8���p��
��
!����+W���
��"80��0\��\����F���������
��
S@#
hLp��\���+W�������+��+W���"8���p��
��
�0������9���1�W���
��
��r�*++�zzz8i��������h�+Wp�Wp�W9Xeee�*//��͛7^NޙkqKh����i��+Wp�Wp�W9\���t��V�6��G�v����i��Wp�Wp�W�k�
!��B!��B!��B!��B!��B!��B!��B!��B!��B!��B!��B!��B!����?��.����IEND�B`�

生成图片代码如下:

···

 @ApiOperation("生成图片")
 @RequestMapping(value = "/queryWorkflowImage", method = RequestMethod.GET)

public void queryWorkflowImage(String flowId,  HttpServletResponse response) {

    if (StringUtils.isBlank(flowId)) {
        return;
    }

    RayActivitiFlow rayActivitiFlow = rayActivitiFlowService.selectById(flowId);
    if(rayActivitiFlow == null) {
        return;
    }
    InputStream inputStream = null;
    OutputStream outputStream = null;
    try {
        if(!rayActivitiFlow.getFlowStatus().equals("1")) {
            return;
        }
        ProcessDefinition singleResult = repositoryService.createProcessDefinitionQuery().deploymentId(rayActivitiFlow.getProcDefId()).singleResult();
        //根据流程定义获取输入流
        inputStream = repositoryService.getResourceAsStream(singleResult.getDeploymentId(), singleResult.getDiagramResourceName());
        outputStream = response.getOutputStream();
        //将输入流中的数据读取出来,写入到输出流中
        for (int i = -1; (i = inputStream.read()) != -1;) {
            outputStream.write(i);
        }

    } catch (Exception e) {
        log.error(
                "controller:RayActivitiProjectWorkflowRelationController ->method:queryWorkflowImage->param:flowId:{}->Exception:{}",
                flowId, e);
    } finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                log.error("error message", e);
            }
        }
        if (outputStream != null) {
            try {
                outputStream.close();
            } catch (IOException e) {
                log.error("error message", e);
            }
        }

    }
}

···

解决办法:

设置响应头:

···

        response.setContentType("image/png;charset=utf-8");

···

原因分析:

如果你不设置response的contentType,发现reponse的响应头中 Content-Type 为 application/json ,响应按照json格式形式,给你响应回去了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 异常信息如下:
  • 生成图片代码如下:
  • 解决办法:
    • 设置响应头:
    • 原因分析:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档