我正在尝试将 pdf 文件从 API 下载到本地文件
我这样做的方式是对pdf进行axios调用。
这是我的要求:
const axiosInstance = createAxios();
const response = await axiosInstance.get('https://www.getpdf.com',
{
headers: {
responseType: 'arraybuffer'
},
})
这是我得到的一些回应
%PDF-1.3
1 0 obj
[/PDF /Text /ImageB /ImageC /ImageI]
endobj
14 0 obj
<< /Length 3324 /Filter /FlateDecode >> stream
X �[ms۸�ޙ���v� �\;�I���^.��}��t���h��D�$e���O܇>x!ڒ3�,�ϳ�]�o��_g4��&yF�4�4�{[���|�K�~ *IXшĒJ6|��59�� c���D�o{GD��<���'%$�Hcn��9y���-ۢ������?��O����$H�/(J��'(�i�&�����#I?)噈()&p���ư9�,c��òxoQ)8��URb���q1��O��B)�[�%��RZ� VZ�z5n���x�:��1{��e'I�l&����d'�2��B���(�E�4�����$iF%ޕ柋Uy��$���YI2F3q���TN�,���-�ju�S�itȔ&"�t�$�d���L��piL�ڴ�Qv��TzdD��$?v��IF#�į>�7e{�"�<��Q'T�x�vLj(�U�^�p�S���1 f/��%��8��@�kn�۪����qQ�Ne��Td�)��Z���j���W?_�9ěL��ě̥Nz'xK�V3��u�2�$Rj�ͺ(�g�'=�(�H�D4Wx'ϭ5�<�Zb3;�����mj���`ʒI"��c"(sۏg&:*���44NIdRr�������e�oS����&4�����2íu��#�Y꒘&f۽�o�}T�aoG�8ɘ�,ۓ����F�{�=�P�M�#%�i.-W�X=y[.�ʮ
�%e�<��-��%�hf�UY��yFH�P`"ϰ>?I�]j�� ��W�UA~(ݦ#?]�n�� �"���>�
�o�U]�[%��=@d�gy:�"FS뵚�#D�\�Sy� ��'|"�"4=Y�����/���32a"f�E)�Rt�g�\*�]q$M$n�*��:��~qd���bH�P߄Go�D.�{�Rr�u���d|�a�̒�SgIt��rkMf�s�'���Ew���'q�҃<��o|ڡ^pT��Pl��w���vY-����q69M[�۬����_���q
现在我正在尝试保存这个文件。我尝试了所有我喜欢的方法:
fs.writeFileSync(__dirname+'/my.pdf', response.data);
或者
fs.createWriteStream(__dirname+'/my.pdf').write(response.data);
或者
fs.writeFile(__dirname+'/temp/my.pdf', response.data, 'binary', function (err) {
console.log(err);
});
或者
fs.writeFile(__dirname+'/temp/my.pdf', response.data, 'base64', function (err) {
console.log(err);
});
问题是 PDF 保存为空白的白色文档。我在邮递员上尝试过,文件保存正确,所以我知道它不是响应已损坏。
真的很感激帮助