SharePlum скачать файл - файл представляет собой строку? - PullRequest
0 голосов
/ 14 апреля 2020

Я использую SharePlum и метод get_file. Кажется, скачал файл в строковом формате. Поэтому, когда я печатаю файл, это то, что я получаю.

    authcookie = Office365(config["sp_base_path"], username=config["sp_user"], password=config["sp_password"]).GetCookies()
    site = Site(config["sp_base_path"] + "/sites/portal/", version=Version.v365, authcookie=authcookie)
    folder = site.Folder('Shared Documents/tickets/' + ticketid)
    data = folder.get_file(request.GET["filename"])
    print(data)



IDATx��k�UW§�����ax�TF∟J�Td↕ML}Ԩ����Ą��☼�T�↕‼>�¶����GК@5Biڂ&&~�/���UiK�6FZ�@��t��;e`f��{�▼ι�{�9��������y�}��k����{�-4@US�↔▲◄�k
��^������#Q     .g�5$R6�♦����♂<�.��Τ�w♂���\I�►♠f*xD     &C�∟�▼��`�\Z b☺Xh t��♦o¶�‼X↔|n�H#�r↑Z♂��O�p}��7�☻�*Ot$�!"■0�e׼2��e`e��o2=L�#s►�!<����5�x�►Ӿ↓N�f�2☼��←<���S�������m�w∟gC�\>�n��ж☻N�f)�=►B!��El�♫J~�BDx7�(�¶�~B5�؎�8�     �m��v�∟�:▼0<����☻←§■$�B♣(�F�'���H♥q~"Rǻ�v

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Я понял это. Я удалил response.text и вернул response.content, который дал мне файл в памяти. Спасибо за помощь!

0 голосов
/ 14 апреля 2020

Объяснение для этого вопроса:

Все может быть обработано как байты, так что, очевидно, все является строкой с кодировкой

То, что вы видите, является кодированной строкой application/octet-stream, которая может быть содержимым любого файла, точнее двоичного файла

попробуйте открыть маленький exe с вашего компьютера в notepad ++, не меняйте его, вы можете увидеть в нем похожий контент

Если Вы хотите сохранить это содержимое в локальном файле, тогда вы можете использовать этот python код

 with open('myfile.docx', 'wb') as f:
        f.write(data.encode())
        f.close()

Если вы хотите использовать SharePlum API, тогда используйте

folder.download_file('filename.txt')

Предполагая имя файла .txt - это файл, загруженный в sharepoint

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...