Search code examples
node.jsexpressfilestreambytestream

Node JS read the byte stream file and store it in storage


I am user NodeJS and Express to run a microservice. This microservice(ms1) make a request to another microservice(ms2) to get a file(XLSX). The problem here is, the response of ms2 is a byte stream. I want to read those byte stream response in node js and store it as a file(XLSX). I tried to convert the byte stream as a buffer, but the file got corrupted. The below byte stream I am getting in response :

��ࡱ�;�� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root Entry��������
�EncryptedPackage"�������������*DataSpaces��������DataSpaceMap  ��������p����   

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*�?N�d�a�Ҝ�S��#�~R��������#en�k��s�04���v�{�᣽A�+_��{���ʴIQ��j�'�K�QY+-� ��7�Ժ���������DE����Us�//)��uN��
ŭ����=]11X�b��bE��9�%�7
=�eX���)g;6ʓY��X�+*�:f6y^Єf6���c�R� �C��7/��-@J7b��1�0� �A#ŕ��Q�#�$sa�F}��Z��CV�hܑ��ݗ������
��.���ik���p�kSWm�0[Z��=��@���������A���Y�7
xk�]e:�S4�!�����-R���
���x�
��->�-�,gaXo�?8U6���$�"�V�W�[�z�d9���,  ��Ej\Ì(��i�R����H =`Q?�U�z1�W�u_g6:�̃GK��Ļ��j�N��{���,�E����Y,4�mF�V�(G6WPHw�1*��ɴ"���0�EH���º�h�1��s���T�=@��
��*u��m�x������$|�j�d5�{�����0��.ѕ-�.���
g���:��y݆J���6��n�f��b_t��h��UtS[8���i��#�����
��՞
z�g`X4c�MN��<ZLh±�^�#�~`��a]�s�S2�*����v3�*H�39�W���I�� ��bQ��R^�Q{u�   �.�y�0�N��K#d�"T�/8�aVtk���mDW�N�V�c�
�B������?�#��f�}/�v�����)`�K�ݨ
S�ɳe}^��Ni�5��8�g\{D�y5H�*�h��i�r�]�?�8�Ñ��?�$���w/��V��{I�7��k �yUn���Ĵ�U���ґ`�l�G,�����!�(yʚ=��9'e�@V�Hms�f�^��$^��`yx�a(�/�   |�U�֪h�^�O� ��.&Ȇgy���j
1hg�!�d�j�č�/T�����Z���S�y�A3�σc�XǾ
B�pbvc/��l޶n}����,^۔og  �����U��
���4�3
[pR)?�~�> �[1��0P�g:q�u
G��d3�En���h�ϟߏ?��Pfz��n�V�e���褀�Z���E�C�b�����v*��T�5>�L�|�8LƂ7s�R�T�ɹt0�N�dm�,O������ �"����T'^���M��<��_yD���>�#]ߏ����/7+�'iJ;G�-z���c3jju����'�(z[{�C�Wg��f�ڜb����-���
��:$v
��J��lUlѯi&9.�ehjy�B��
^j��c;'��3�O��߂�=0\s8*Z�;�S�N�k��nDz#B���@�i��=�nץ�H��Z�9�?�w�ֆ�m���4���h���O,b�ȬB�����X����b�<`%��®w����9O*�}<����t'���>Ö�)���T'��U�Qr�7���Q)��7:v�h#�/Q�!6^�yܤ�V�+i��T%�GS��͊�f#��'Ob
��!�*�Fk�!��MTM��O����m��6���t������_�.�U�OwA�#͞CHRt*mV�!,��!�֔���W�э[�?
����Cwu�i-���iqғ=m�%�`����p�G6�R��[-����[�ad#�Z tN0�7���������4
[$}"���?�}=tRw���4�Vnx�����2:�ܹ Hg}�T�G%{4v���RO@�bȨ�rNnV`�P*)`~��5G8I��F���7Wf
���6�iG᝙�|��[��vd�9 ��<����ph�ݏ`����
�S�87{>�    }��r1MC���W�}dD�������(@(�����7�����F�'B��I�`b��b�Z�
ңS6�+�[%8Hd��5I�ʾcOWdzuhoh@9�Ƙ��-�L���1H�0-�^&�a{t�X���*=��G��7 �dz�+��n�|̶�E<�Ʌ����D"9��c�3���-'���#l]t�~W/� ��]�$h���}��M�y�
a�B���_k�B�C�sc�!��mB濷��GK�/.�(����c����^c􉺊0��`�[i3-�Vwa�/�FZ� �&�IY��'��=mQ���lNb}�D"�����л��K�e������b�x}E�.�^S��ΒD{����y�7Nu³϶#�u���a���Z�O�
��x�$�
�yj�r�% ����w`�։Y$E��ۄT�~~H"/w��@�@9|�N:5�d��r��OFO�1/�X��u3O�`�T��yӻ
��"�tP)�'���� �z�r'
;�,ߡ�j�M�V�I��4wΗ9���Yx�l1��
RX���خ
y���{�an��W4��d��)��jj������G#�����\%.��3Qڥ�����K̾f�*TeG6{�6�Gy�����Yt��@�B�xo����!�J��ܞ1C�U�:k���lxe+�U�9�w��a�%J~Q
�'�م����:1��v�6��¿À��#8�ԎO[3�Yzkw<͓���V�
-dXAO���    A�JƬ7Q"D���k��0�$I�hN���:��17��ř3�_|N��7�a�b�sn��<LHMt�&��EQ�A�o��7��\^d#�K��,�n��h��e[7!1�ǵ4G�KoPD�Y���
����t\/}t��RB^��z�����%�N��>,��:^�R,E����$'�1�`��TJ���r${�]�,�T�C6_�pls�iP��x�и�9.tO�0�?)�)�a�l+�B.��[�m/��ė�Kd�H�k�����,��D�ɇ�D��Y�Mj����-���39.f�����u�ȴ���;}�J|��HF��<[�}ByxJ�i`*2�ӭ������xO��3�4�`��8�N�:7�k�ab�Ɩ~�k[7���m�_���k<t ��D�RQ%t(��Q� @I�#`��`�.[p�-��
�oD��-=�|/�o�A��N/��R��e.q�s"�V%�hP�rpFQ1D/�q.�3���� ٞ���1��_ 6J�>���5I�o%�y,A��#�������F;_
�8cs
����h=ߺ�n�[��D���T�Z��@��'>��l�L�F�,�@<i��O(��\֛C���$���08�h����� ��cB�H����
� �;���$ّWǓ��b��+��\Ϋ҄J&ep
�܅'[��D�0��e،����$�I�a���i���<�j&�HR!�텂���QPHV®����h��o�}�/�q�V�U�i�:o��w�����WMH_)A2Ӫr�:��К�N�eл��J�6  ���€�H��P�c�E�(G��-&#}�?��7{��m|!��3&u[��l֫��yL2 F������nzaq�j�V�%��>�y�4D�m��Qd�v��(�#��k#c���+P
�   ⑧��V�����F�>����x4�ȥ��  "驸Nc)�
����l����/ZX�DQ!g8
k&:�Ct�� ���q���M�*��8m�    �1p�70Z-V*+����C�*�+x�i���#�|����;��7(O��"��c��VZ\��؈�G ����9o�F�3�/�1^<BҼW5�)t��!"�sU{��W3�އ��|�-���p�$����1/���cc�9@�����Nq46-_��qw������u�5�޽_r�F8P�rse�~�A<��1���8���=tRj?H�r2���J�p�E���U�)䟝�����JKΫ%�d��
$��Ҫ��h
oH42򯳱x��<ܧ��I���u`�;�n�{I�^"�a(���<4_DP�#
N��߇��a��|�u��[*��K���;�ugu��[_��*�k���xb!Ü�K�ػE�g���K�0��<՚�YF�(���U�r�&��>����#3&�[��\WA���2$���=x��]�}(�[�Ű�S3��-�\���+��3"-�"嫑*���  ��������JDr������V�7&�e��������u��[�3RK��FIa,k��c��$5�Tz    ����9���HlKn%��_�$��\bA
����IƗ8���6%d��Ǐ���>Aj�V�j]�JE_#��g��Z��/�fTS�.'(�{/z��|��x*n�rw��ެ������6F�������́�O�0����Ca4������X[p.��,ϐUZ�����T�4i�@rp�=��d��zq8��
�M��e���\��^�)O��!�ӻP5��p`K�yû���ls���c�{�7����r����=�nSsĶ���谚͎y|�h���.H�Z���";��R0��;�x-���>��ݦ��9&�q���
�����~�rIq����+�^]G��w
w��s�:���!���0-���9^W��kʥ��#Hb*�q�  ������x��?�Dɋ�n��<�s�i)[� Tj�W A�i�v��!�"9<ԖZ6T���DN
up�*�{�!��O��I�{
񙩫���Ƨ�'f�|�$z��"�@Lc��
1�j��#���;�˽��_�S�Q��g�E�����f����(e3G�gC)G��&��Ǣ����vH^���6���3�8F`�   z�Wz��R�(I���Orܾ�f;�*���Ҟ#}���M|cJ��+���,���MR�Q�D�\����ú���[l��N��.w�z$�W���-��I�"*q-�'܅�A��ݍ@�28�G9~�4^�N�9IgU-��3^�+0�]W[ܪ�>ac}4�)j�B�����?6�P��ȩv���œ�ܡzL����ؐ��J$e�����=�N�<���2Jd7�I!��Bq*�:)AW�lU�-�.@W�e��8��H��Mz�()t���s�<
z�G�!��d�+W�n� ��fdI=K}��Aaq�kW#�<T'i��^wǸ�y
ՠrW_��:��|s^Z����p�PJ����z�h���\��Nl��<IMV��R�����������\i L�D�b�.
�bO-8�(Ύ �<\�G�5�"#~��5��L�d��^��ȵ��ig���H?GƊ��(~�ޭ�$
��4����z�ܹ�ڼ�6��B׽c���eX���
0+�о�i���G���uMc����    �%��I��?�+�:�%"�,rh|���X���/j��7~{KgOeYhXQ(�#��<F�}:��߳9�!~#�Xp=��ƈ�.y�H��{h?`GJ�DT=њ����6��mrWa�qIF�f��K�5��9�4A   ��qvn`W�~xB�DP��AẨ�W�]X�63z�E��i��V׌���j[��0A,'�5:O��e䢊����{�wr�N�{>��*Dd�[\�����)�^�l�w�(��:�!�f:xd��#��!���S%^;�����d]a�;��
�>�0 Ny:��A��l��T�TV�ֶ�Տ�iv'={�����u�c��XPɷ��Q�N�_�ʉ�3; <>VWm���z��F�W,�����r�!���J�u9���٫��3��V����_��ix6��N��k����
�)-�r���3jP
�Çg�ЗN1���-Ÿ&��THOIx�ł-�,߄��m��;�݊ĵ�kP'���M�h]^�v�(F� ��������z�I[A1L�ݢP�t��Z��!�b��Y�ᄘ/_F�[�2��N�{���Y�[�+����c*��k­��J��'[�O��Ը��[ֈ�> Л!�Ƃ[K�?�M&!�V���V�A�Gk�-���Om�
�����N���Q�e.�!����4m)��4i^4T���O   ��c�U/��*'Xh-b�f6V`�ށ���*G��A���:��Pҟ��Y-#�]�{ N�*�*�eF�����m�_`�-��Ɂx�������ߦJw@��$��З���/�$����]����2��ׂy��{G?�!ߌ�X��k�,�4�m�e�����O�#��5.x�S�hraaƻD5Y^��]�����I�;�e� <R�#��@��:�7[&xi�^�Μ�N�k ����y��S~��E^<յu�q�7:��\����τs�Cte
�p=m�����]��8*�����`    ��Acp߷*3�T"F��n$�O S��`�|ҩ5z6n�
�^(U�gDJ�����r9�h�s8�
ڏg7�ӟ"����+���L��..
W�KW�~�B��hY>Hx)Q*�]�Rg��?�*X�ݟQ`g�bL(���|U���:~P�GRb�T�+Y�����P�»l_1��JΘI�\��B�'Uێ���8o}`���9��>��U�n�2��m�Ţ�4�T�"�&,^��*��>�3���K{IC��u�K'��ư��%���x͚�(���5��'gi��d�!|9l�O����8D�����u�@�1�Z?p}��2�����}8�:�v&�/�,G�,��(8���+����V�2{�T��.��F
�Z�*4�e`��|c�a��1zJo|,t��4��Hצ�1�����bz�3���"���|�����:��+�iG���U�ڢ�x���b��bf3�+l���˯M���eEle�^������h{��h|�Q�D���eG
ˆq��P?���B{�?t������@GAW�%t��#e|�Sf-� <P�a ֮l>_ ��㺛��f��זf����:�UBx��fʆ����N\JI���~��P�g1����>�U�b(0#�h(,T��JK��1�����Q^�p�k�ڤ
�&I��0HXG�_����(��ZdT�����-�
��Ώ;Y)�J�ׅ�p댧�/ -%v�Ⱥ�L��Z�U�I��*��U�N������I��0
s�W����
=��ƪES�:l|�m�����   Nxs�޻��i�pN�C_\��M���
��P�{�zE�%�.A�i�C�����l{��f7�\N��@��_z�����p<��0��4$h��_?��ŏ!s0M�w�
�ah8����A�,0���7�E����6�r�-�c���H5�4�^ˉ�̆jQ��>����-�{�p�7T?Gc�8Օ�<�N��W�m�:z/O�˟����z�/����L����������|�H�Ʈ��|�`>F]�~"5”6�i4�\�A����o�碷-K�2��䩯ͨ�8��oo��/�"�k�_�mrx��(�m�9)Q]�o�4\C
�,`T%ݿJt�k�vj��z�'�(x;<8��K'+�d�:�����t�v
ii�~�u��y���'�m�MB�J�*������|��Y�̰�N�/�A��Fm�ve|��ЬGZQ��V�L����ߒ�|z��lᾛ��0�W���*��?2��5A'V�t̄�[sE+  ]������A���:��ZZ������]�yNH�J
�l�T�KEz��v�TQ��4��*�f�_7|*��������x�-�K�tΰ��/}+��1�-T0���w��1trw�5�{��e�޺%��8'�pZ_�َ<gSco��u7(�3�o���e���^��"��U��F�M�B��tna�5��)��]؈h�@K�Xt��Q���w9��'y��1י|�:���J]�QLKW�y��܅�;V�I�����!3�ڏ���y����
 d;�J��w|H<nFu��i�=�MCa��솲�J�S�ȴQ����M�fך�)zW!�īN8��Y��`:�_��"�
\   2���wzC��Rn�~�0�&���)�詊os�$���o;�!�ӱ�Œ���=�[:����Q��u-��r 9�I,᰼zݱ�5F�z΂� ���u����.Xd?s�[�V2lnٲ���q�������(�)d�#�$�;3�G�����ʗ��(2;/���y��`��#jng֛���FXp���&Bw)���v��)�w��p�j�)k��͒dzz�Rb�0���Y�VG�?x�� i�����kn����A���)N�'\4��\瑺�F��k?A
����Y8B���VDK���3��N]����b�m;~^��B���ȡeb��Y�A*�@ƿE�xY�U��[k���,�Q����?�tg���û�PgPN�A   ���\�糧=͟��b9�ߗä��Z���5�a<t�\u�=�Jb��7/D9ᛝ�]���ˈ�j�U��C��gb�K&�W]���7����#�U�ޖH�5�Wf4s�����Bt<LR��C����a>����@io�0W�+c{uې�CC��2�q   _��Ku
o��f@��i���I���;��-�_�-�F�v+P1��M�4��i�T0���F��
+\�����mV�b��p���� �l��"jg�`NQ��Y�ۦ���Y,�T�1�ݱ��N1������{l�����x���c!�&��`�)1��K�Y�^A�y`=�گ�JK\]-l�X��:��g�P�a�Ocx�Jߗ����U#�l�����P��~_����U�0�r�
�Z��N"��u �(���+qQ�������I�q!PX���B�#���8��)��3����r!KC�p*��I���Nӎ��e���v�+��TT��� �~V�v�=���?M�29��{M=s@��eRQr�&��=�Q��٭��}�k�5��]��[�D��'���O���G��S#�m���n�^�0��Q���~�M�y�)��bAeQT��SNG���#��������[�NbD\hlv��X��n�$�W�K
]���U�
��h�3����p;��V���`���uX�����    R+5��r���x�=�X  �����˅�WP(����8�9���s�UA���h�}q
]���^�L�����q]~�Z��WZ��Kk���w��0�[
Of�[�-�^>������AC3���F~("��׻U ]ձ�B�=��K���f�/��^ܦ��.�&Ι�f���m�����=p���l4�Nx�r?*����I�l���TY&ՠD�K�b>�<�3_�[��MNc����Z$�-���X�zd�S4�g�F��,�����0�]�i�5�[���M�پ�~�g�� �1F�D�ȹ�]j���;W�A�s&�������g��k]�x2w:p��F��4��������A�a��_�����!�]�S�J�W@6�����������6�cy�jl�����u>���d`�h's��[�����=[(TznG����W�8$4��j��W
�P��!�
k��T�tef�c"�%f�ߥ=�o�G�(U����+�ġ7O�b���7��9"�n����
��ԃ��=wJѿ_�yR0ab[hӟd�c��e�/�������P&    ���}P%�t
��aW�[�cN'����Ώ�qO�YF�t����}"vkK'���ʰݛ4���qva���,,�'%B���t�TABҷK%�#z�fN�os�ܰJw{\+H��eq)�������U�9D���CȆ�)�`�|�'��d)Z��  qu�σ��%}�~C����L�6.�����4&j��u�ꀃ����I3s�ΪPq�D�!vb��Ў����ꓔBV��_Q�>�h�.x�F���93=�xf:�8�k�i��>⛰���<�,5Kś"���|r�!8Z�quCC����=�v�(�|��v���!,?�I8�~��~�WeX����\�lL9���vrѾ}��m�}+��&|}*M��s�&X��FN�1�,��[#B��Am3�
-Q�R    �ì���V�� ^Yܓ�#n�(��,(��!��r{�y���66�7�`�qC���2�cl��C�9��Z����C/�c��Dj<�n~�2����&�cZ��?�n�M����W��0:��hkI����%���>�����=��p�������ڭ���Q��������p��6��,���Ԗ`�|P�Q+�g�`I��`?V�YT�C�}.���}��g�3D5���e?&�!]�N���N���i��6�q��GR%��)D���̫��t���
M��'�3�����H�c?{��n�o4���+�$�dP\�g �������lT��j�S&(���PVF
9Hh$*T|`<=8�l�潥|9��M�!A5�]�����ct#t�L��T�7*��!k��tP�
m��b*_���k`�QmV����xj�>k�*@�?ѺS���l�L�?��*F��^D.�S��ϻ�01�@q��Ŋ��0�B�:s��l0+�f�x��Da�g��Fǵ��
�[jc����E���((�[ֱE�~�H
\����|�:%k��'[ "�.q�*�_;I��sKzJf$�pi%�D9���dpt��Ԏ�ƛ���quD(u��tA���YT.�!����tEfV�ղ�O�s��Z�ү�H�g�Zc���A!i�kM]R������*�e�(ôh���;��5���P��1�N�3��y5�E�Ѽ��"TѼ������������&`��$㼆u빜͐�s��{ 0�u��kGu�����2�s�E�|e�Ә�W�5���
��Y��dw]N�;�_����d���7���a}����������������

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������h EncryptedPackage2StrongEncryptionDataSpace����������������2StrongEncryptionTransformXL{FF9A3F03-56EF-4613-BDD5-5A41C1D07246}NMicrosoft.Container.EncryptionTransform��������������������������������������������������������<Microsoft.Container.DataSpaces����������������������������������������������������@<?xml version="1.0" encoding="UTF-8" standalone="yes"?><encryption xmlns:p="http://schemas.microsoft.com/office/2006/keyEncryptor/password" xmlns="http://schemas.microsoft.com/office/2006/encryption"><keyData blockSize="16" cipherAlgorithm="AES" cipherChaining="ChainingModeCBC" hashAlgorithm="SHA1" hashSize="20" keyBits="128" saltSize="16" saltValue="IQOpNtRK7dqGPQbMQMKebQ=="/><dataIntegrity encryptedHmacKey="eq+2yqLFa/2Lv7UpGb3FodW5qQtItpynDbQkwmOkne8=" encryptedHmacValue="K2ACBlz2gs9riC1Xq1gOGBF3tx+ecgCUnKrI+cDUVGY="/><keyEncryptors><keyEncryptor uri="http://schemas.microsoft.com/office/2006/keyEncryptor/password"><p:encryptedKey blockSize="16" cipherAlgorithm="AES" cipherChaining="ChainingModeCBC" encryptedKeyValue="f+ppGnMCZBT/SpR87LsySA==" encryptedVerifierHashInput="ZUjw/GjZ4qidGi/zEszCmg==" encryptedVerifierHashValue="GyEkmmzvhjH13ZZFN64Fd1z7sPatooUoRUcNFpvPi/g=" hashAlgorithm="SHA1" hashSize="20" keyBits="128" saltSize="16" saltValue="5ArJoMRYeh1Bs5AtaRnYug==" spinCount="100000"/></keyEncryptor></keyEncryptors></encryption>���������������������������������DataSpaceInfoStrongEncryptionDataSpace4������������@TransformInfo��������StrongEncryptionTransform4��������Primary�������������Version������������LEncryptionInfo���� 

The code I am trying :

const response = await axios.post(somehost, formData, {headers}); //get the file byte stream
      const  buffer = new Buffer(response.data);
       var stream = fs.createWriteStream("my-report-1.xlsx");
       stream.once('open', function(fd) {
        stream.write(buffer);
        stream.end();
      });

Is there any way to read this response and store it as an actual file? Any help will be appreciated!!!!!


Solution

  • You can use .pipe() to stream that data directly to the output file and not have to go through a Buffer object:

    const response = await axios.post(somehost, formData, {
        headers, 
        responseType: "stream"
    });
    response.data.pipe(fs.createWriteStream("my-report-1.xlsx"));
    

    Example of using .pipe() in the axios doc here.