Я использую curl для загрузки документа и метаданных документа в SharePoint и не удалось. Я запустил команду в Windows
Ниже приведены команды, которые я пробовал
Успешно (не включая метаданные)
C:\curl-7.59.0\src\curl -k -v --ntlm --user user1@devuat:user1pass --upload-file mark1.txt https://aura/sites/2018/DIGITAL%20AUTO/07Jul/01/mark1.txt
Ошибка (включая некоторые метаданные в -F)
C:\curl-7.59.0\src\curl -k -v --ntlm --user user1@devuat:user1pass -F 'Account_No=123123' --upload-file mark1.txt https://aura/sites/2018/DIGITAL%20AUTO/07Jul/01/mark1.txt
Успешно, но не вижу метаданных в sharepoint (включите некоторые метаданные в request.xml)
C:\curl-7.59.0\src\curl -k -v --ntlm --user user1@devuat:user1pass --data request.xml --upload-file mark1.txt https://aura/sites/2018/DIGITAL%20AUTO/07Jul/01/mark1.txt
Файл request.xml выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CopyIntoItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<SourceUrl>string</SourceUrl>
<DestinationUrls>
<string>string</string>
<string>string</string>
</DestinationUrls>
<Fields>
<FieldInformation Type="Invalid or Integer or Text or Note or DateTime or Counter or Choice or Lookup or Boolean or Number or Currency or URL or Computed or Threading or Guid or MultiChoice or GridChoice or Calculated or File or Attachments or User or Recurrence or CrossProjectLink or ModStat or AllDayEvent or Error" DisplayName="string" InternalName="string" Id="guid" Value="string" />
<FieldInformation Type="Invalid or Integer or Text or Note or DateTime or Counter or Choice or Lookup or Boolean or Number or Currency or URL or Computed or Threading or Guid or MultiChoice or GridChoice or Calculated or File or Attachments or User or Recurrence or CrossProjectLink or ModStat or AllDayEvent or Error" DisplayName="string" InternalName="string" Id="guid" Value="string" />
</Fields>
<Stream>base64Binary</Stream>
</CopyIntoItems>
</soap12:Body>
</soap12:Envelope>
Я получил base64Binary, используя следующий код:
var base64 = require ('file-base64');
base64.encode('mark1.txt', function(err, base64String) {
console.log(base64String);
});