我需要一些帮助来了解如何执行此操作。我的服务器上有二进制文件可以计数数据,我需要从Django Rest API中下载它们,并使用React转换为列表,以便能够在图表上使用它们。 目前,我已经在API端使用JSON转换了这些二进制数据,我可以很轻松地获取它们,但是文件长度太大(30mb)。 如果我使用二进制数据并在前端对其进行处理(转换为unsigned int并应用常量),那应该会更快。
这是我在Django Rest端的代码atm(我之前解压缩数据是因为它们是.xz格式):
f_content = lzma.decompress(bytes(open(the_file,'rb').read()))
iof_content = BytesIO(f_content)
filename = os.path.basename(the_file)
response = HttpResponse(content_type='application/octet-stream')
response.write(f_content)
response['Content-Disposition'] = "attachment; filename=%s" % filename
connection.close()
return response
这是我在React端的代码:
console.log(response);
var array = Uint8Array.from(response.data);
console.log(array);
console.log(响应)打印的内容如下:
Object { data: "����\u0006�ܜ�����I��\u001f�ҧ��h��N����ɽ����ű�å�����\u001c��������\u0006�� ��m��������@��,��������u��'��#��\t��=��K�����������\u0011��p�����K�����P��������R��\u000c��\u0008��������~��~�����h�����������������-��������M��������+�����'�����H��������2��;��������������������������2��&�����5��������9�����\u000f��>��������4�����\u0018�Ŭ�Ǥ��#�ʃ��4����ύ��.�����\u0000�������ړ�܉�ރ�����G��\u0018��T��N��\\�����������\u0005��U��������!�\u00001�\u0002\u007f�\u0004��\u00074�\t��\u000b��\u000e\u0002�\u0010v�\u0013\u0005�\u0015P�\u0017��\u001ao�\u001c��\u001f��!��$��'W�)��,��/l�2\u0007�4��7��:��=��@��D\u0010�F��I\u0015�K3�Md�ON�Q\u0006�S^�U��Y\u0002�\\_�_��b��e��h��l\u0010�o��s)�v\u001e�y\u0010�|-�\u007fF��B��!��\u0000��k��R��p��(��\u0007��6��������V��v�����������K�����������m�Ò�ƪ��\u0016�Ͱ�����%��e�����-�����E��|�����7����&��R����\u0000\u0019�\u0003��\u0007\u0018�\nx�\r��\u0011��\u0015\u000f�\u0018��\u001b��\u001fh�#\u0008�&s�)��-V�0��40�7��;��?5�B��F\u0019�I��M\u0015�P��T\u001a�W��[q�_\u001e�b��f:�i��mu�qN�t��x]�{��\u007fJ��������=�����B�����\u000f�����K�����T��\u001c�����\u0010��������[�����x����ʗ�� ��|��\u000f��\u007f��i�����V��-����>��B�����\u0011����\u0000U�\u0003��\u0007f�\u000b)�\u000e��\u0012T�\u0015��\u0019}�\u001c�� k�$\"�'��+O�.��22�5��9��=\u001d�@��DT�G��K��Os�R��U��YH�]\u000f�`��d��hI�k��oc�s\u0014�v��y��}���l��\u000b��o�����0�����1��������:�����@�����������\n�����)�����…", status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }
但是当我转换为Uint8Array时,我没有得到合适的数组大小,并且我有太多0 ... 你能帮我吗?
谢谢!