压缩(ZIP)使角度损坏的问题

时间:2017-02-09 07:01:45

标签: angularjs node.js express blob

我正在使用以下角度和其他JavaScript库生成zip文件。

$http.post("http://serverURL/downloadAttendanceReport",data,config).success(function(response){
  var blob = new Blob([response], {type: "octet/stream"});
         var fileName = "Report.zip";
         saveAs(blob, fileName);
});

但是上面的代码没有给出正确的zip文件。打开下载的zip时我收到错误:: 加载档案时出错。

我的后端(NodeJS)代码是。

var zip = require('express-zip');
.....
res.zip(fileList,'report.zip');

我收到服务器的回复:

PKQ6IJattendance-Next Education.pdf�ViTi=�MCDP(Z� K%�9Zihك��2V�"    �� ���0�BC�":r�UAY\m��E1ꑀ
� 0ttz������W��}��{_����ӑa�����<�wucl f���+"��x�H�|���,C����hR�����'w�$�n��    �<]R~-{�)[n��AS\����PR��G��S�a���M)��@R���A�Ǧ��"��9
/�+�.�vTF2�+�<xԳ��٘o
b+��b�-�+Ͼ�H�
;������C�`�
�n�̾RE@�=��'*�}�g�_EM�}b
k����K��M̚93;�� � ������U�#m�����1��(�r=!��4��e�����������_g`�4����ս��R��/mb,�4�t�!��������Wv�ER�~��Ɋ�ɺ�G3��{�{�i�uR�S��"{JC-S��rc��]R5,���λm�0&�q�K��3u�vqϜ:=V��(P���(c�/{t�8a�gsj�g�
�=S�n��w&�4���B��/{���֩0j�,���q�X�̸�+^��-|XŃ����;�@���_���r��E����30�0�NC7�s�O6�η<7�ai��sL]���ꓣ+��zέ
ɸs��C��F��V���y�M/�N0��}׽�`�N�f��IT���'BZ���Bv��j.�M;�r��D�&�6F׵
W�g7�ƽ�_P�k�
�����n�M6��J�4�Z궔H�����:��&
K�{=��Z��:v9&��o��/��5��ӾUɉ���`����^�!�p�漖/�>�k�����79��(����k��%ػA˄�!����w����������Ch,��_?�u�(m��!I��w�@���?#�ѻw�l2�7P�rж���J�3��zm
3�ƾ�cq.r�i�OZ�#�Ӣ}}2"/�hJ���  ��x_,s&B�t�����n\���Rk~�����ߊ��z���z��E��}p8����
^O�ؑl��cm�o��cLu��|�F�\���NUGl�[=���LjT��x�?w�B�A�'�R\���TNJ�����+zU��A��ߐ�Uy��7��6��``[
�e#�Y�
��1Kߺ#Ε�}��w�P�^r8s��L����k���(�{<�P���s_��
㼬�,��Z�7$Eh�R!�G9id��ol�6����%���f����
jw7�_ќ@�l�l���?���[Cfʝl�ov�R�����S���$�%�����6`jl������X�>��F�䄫���w�+�*�m+���y�&|!���bv\_�q���W&z��F��̏F�G�֜ʚ��&��νl[8��u�����I��|��l�)�w��~�L+����c��]�Ue1���ߪ�)��=���n�dpk��ˊ��ኈ��a���l4�:�&�E۫_��ew���^�M�x��9~�p2��N�o��v�lY�~��Ga,�\�x���z���E�I�>�.z��nD�B�;�}q^�~��@\��j�>��$�])���R�^v��2�y�b��j���P�|x�YLX~3��}`�n�@�a�����;�%ޟ�u�nQ8&�2���~�|�>ʸ��x�ȉ�W�Q��/G�����|�m��f�Fg���������{G�(���\;��Ӽ�n��w�,�gȽ�"���D���:�'t�`�v�r<a    "�D��
��"�&�;��AP��8T�F�����Dd���1�A�e�"Da�o���%d��h@K� (h��v�����J��(�oM��hJ�J�J8z�$�Q�>|!"��a�'�KU'�$�".��mI�_ޙ�,�҉��+�RП;����W�'�/�I�dCє��>G�L��?,�~�A�e�@�]J^�i2_U��`�9pBو�_d����XV ��\>b����A71����:n�px2�Q��#-pD3����2�X�?Q_%�K� �`p_@" D �\ÓH�P�D_jT�5
���8�F��^T���H��qԯ�2 � ��x��2@��7����R �c�f�)s`
bA��bs�A��ڰ�L&�a
�!l�HFq0�E� 8��.� 1��7��G"�H*�%��� ��11q�``�PKM;ݍ��   PKQ6IJattendance-Craft Villa.pdf�VwTSyQ#�
J]%y���'���Ko)/'ES��:XР(ed�
�Ho���,��Q@�
�.("�澨��̞�g����{��}߽��g�jK3Ǣ (�ǃw�P��=��%��HB,�ah\�ah<���YB6lm-��`����]=�5ܥ�@�Kʭ�����ԝ�
~YV1�1e�|��}�'�g��ȇ�܉����?-��_U��g�r�?���ѹ�@��^(8=��fN�ql�s䵍�������7�^k�{�����ڔ=��֞�WV���i�M���Xˀ3I[4v�f5No�%Uh�w�8�Oa��v��k�H׻��K#޾��C��cQne��+������8���-��r��-�Gɒ��)[�X�A    ��C�^�����ҭ�Nj1X-�N�Y��s���=��ZW��M(���=�2�'d��1��"�L�I�"��m�r�)�%/ ���.���">�,٬6�MW"  ='�����~�NS8�N`�����<�Г����#��`�g�v���].I���z`regL�WYލg�ͤڕg�\C۬�Ћ���?.r!��8o��E���d?)wu�gW�k�����8��Q��^�:?lX�Lf��<�Y��x�Ymf�p��w#��ͧ�����rǁe���D:��vޢm�n��{��5��ѢXdz���(GS�[����xk�}K��Ȫ���SzN��������S��r��2lw�"����Ȁ�TD*)S~t�F�j�S�w{D�*iʯ�k���z66LU��`\9]�e_�+�5�5��]����������Uz�R����Ǚ�&�[���T��j۱��-�ͷ%W�G�M[9���{1�����Z��}E�u~�P��_>�x��F��u�ۄA���3U�i�A]�{Ѧӧ3A��A��aU:�%0�K���=�Ȧk�b��ncw��:�:F��Y�HSD^������MĊ,W�%��\�z! �[���{��ܝN4�]���r/O[�x�b����d�?�Og-W�R�������\���J~/t=�'��̬���
�T�=�e���DZ?-�����@~�z�鷷��%
>����=��ݨ�3�>i��jl�U�ʢ1 ���F$&�ڏ��Q�X�܄������bY����*����k��1+�W��qb\�I�0mwQ����?:d�Pw��s�٠3�6��R?u-=�1�ӥ\u�=���}��r���&Y7��əh%%�P��q]��8��y
��S��ϼ��S��U��y�U��zэo�b��a�3��� �1�؍#   ��mY՝�
�C)u�s�m�cV�����m�k8vƳ����ec5�4R�y���՛����CPi].�瘌��qܝN�&ç�[���ª_�*���ɳ9��z�%�c!9Z��    �����������DwC㵌�g��ߝ����M�������d�_�����]�1���u���� ���<5��Ԯ���EX^J��zSkt#����ζ��NV�+R0+��L�_�ܤ�䒣�K<Q�Ȍ�c>�TS�hT�n
�
�t�z�QO\�gXP�s:���'+�)FX�sqe�>m�;��i��W�=��o&c����T���(��������Q���T��֌q�aR�|�t��z���~ߨP��0&�j՘��uoKvM����l�wK�FGb�8A+P���qq _ȦAa?ld�2D�@�C
$�K�6��FB`�",VU��,wX�a�-`<�p   ���G�(o��{W�� "54,�{I�xՇ5r0N0�ˠ��@$D$�8�X4X[�H�����0İ
����bs����@�}�N�lH� ��|'s?�ݥL�J�J
�3���ť�������'�Ĉ�R�e,Ɓ���ܧ�A"��
*C��    C�;/�Йϴ->�"}`KY�Ȕ��84��Sf��1B�0�%����a��l[���v;�Z�8����@<q+H4��&f*�O!�
�3�3�p�A��?�D$��ÒH�
�>� <"�O12�/c ��K-B�חy8���D�=O"bpy���](�*��]���%f�Xl2���x<�D�@d���p Al��%�@�qp,�D�l�1    ��`6H�Z`v   8B@�:Ɲ    �X�I�;���!����
�PK�h���� PK-Q6IJM;ݍ��  attendance-Next Education.pdfPK-Q6IJ�h����  �attendance-Craft Villa.pdfPK�� 

如何解决角度压缩问题。

我也提到了link

1 个答案:

答案 0 :(得分:1)

从XHR接收二进制数据时,设置responseType

非常重要
var config = { responseType: 'blob' };
$http.post(url,data,config).then(function(response){
    var blob = response.data
    var fileName = "Report.zip";
    saveAs(blob, fileName);
});
  

配置

           

-- AngularJS $http Service API Reference - Usage