前言
使用uniapp做app项目时有下载统计信息的需求,根据查询信息接口返回文件流信息,前台需要处理成功下载文件
接口返回信息示意(这不是完整的):
PK oY[Content_Types].xml�S�n�0����*6�PU�C���\{�X�%����]8�R�
q�cfgfW�d�q�ZCB|��|�*�*h㻆},^�{Va�^K<4�6�N�XQ�dž�9�!P��$��҆�d�c�D�j);��ѝP�g��E�M'O�ʕ����H7L�h���R���G��^�'�{��zސʮB��3�˙��h.�h�W�жF�j娄CQՠ똈���}ιL�U:D�����%އ����,�B���[� �� ;˱� �{N��~��X�p�ykOL��kN�V��ܿBZ~����q�� �ar��{O�PKz��q;PK oY_rels/.rels���j�0�_���8�`�Q��2�m��4[ILb��ږ���.[K
�($}��v?�I�Q.���uӂ�h���x>=��@��p�H"�~�}� �n����*"�H������8�Z�^'�#��7m{��O�3���G�u�ܓ�'��y|a�����D� ��l_EYȾ����vql3�ML�eh���*���\3�Y0���oJ� :��^��}PK��z��IPK oYdocProps/app.xmlM��
�0D�~EȽ��ADҔ���A? ��6�lB�J?ߜ���0���ͯ�)�@��H6���V>��$;�SC
;̢(�ra�g�l�&�e��L!y�%��49��`_���4G���F��J��Wg
�GS�b����
~�PK�|wؑ�PK oYdocProps/core.xmlm��J�0�_%�=i��m�(Aq�D�.$Ƕ�&!�v��i�Ի$�w>N�r{z��wFW4K%��Q�n*�p�%J|Z��h��6t[��ri�B��D��\ڊ�!X�e���i$t_�D�W׀�U49ck0%��I���HOJ%�}s�,P��u���������<�n��qL�b��F<�����'���.���IͥCP�(����F�����갣u��m��؊��<;.���$�:W_�BZ$���[�K�Ss� PK�h���PK oYxl/sharedStrings.xml�����Q(K-*��ϳU2�3PRH�K�O��K�U
qӵP���)..QH�/�+�U22QR(��,,Mu��+)M�+�U�())���/N�H�M,��/H�ʤ��&��E���E��)���%�9�Ff����yJv6řv6%v�:�n����������t<ٱ�ٴ��{:m�K�l�Aj��{ѽ���z�/߀�$�
�f�N}���0��h]�t���k�<���P�e{?�\�.���r����}�}�\��'{g����@�{ѿ�ń���y��9��N_�l�tQ�tt��>0-�PK�R3&xPK
前台方法:
const exportDownload = () => {
uni.downloadFile({
//url是你请求后端二进制流文件的接口的地址,根据你实际的项目接口地址进行替换, 多参数可使用拼接方式传递参数
url: 'url',
//设置请求头,这里设置不对会报权限错误401
header: {
},
success: (data) => {
if (data.statusCode === 200) {
uni.hideLoading();
// #ifdef APP-PLUS
//文件保存到本地
uni.saveFile({
tempFilePath: data.tempFilePath, //临时路径
success: (res) => {
// console.log('保存', res)
uni.showToast({
icon: 'none',
mask: true,
title: '文件已保存:' + res.savedFilePath, //保存路径
duration: 1000,
});
setTimeout(() => {
//打开文档查看
uni.openDocument({
filePath: res.savedFilePath,
success: function (res) {
console.log('打开文档成功');
}
});
}, 1000)
}
});
// #endif
}
},
fail: (err) => {
uni.showToast({
icon: 'none',
mask: true,
title: '失败请重新下载',
});
}
});
}
更多信息可查看 uniapp官方地址:https://zh.uniapp.dcloud.io/api/request/network-file.html#downloadfile
简单记录如有问题或更优解还请不要吝啬的共同沟通学习,此结。