문제

According to the following link:

Working with folders and files with REST

I can add a file using

url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files/add(url='a.txt',overwrite=true)
method: POST
body: "Contents of file"
Headers: 
    Authorization: "Bearer " + accessToken
    X-RequestDigest: form digest value
    content-length:length of post body

I am testing this with Postman. In my post request I set the body to form-data and add a file parameter with a text file called "a.txt". The text file contains the text:

one
two
three

When I execute my request in Postman my text file is present in SharePoint. When I open the file on SharePoint the contents of the file is:

----------------------------235004993628819232914336
Content-Disposition: form-data; name="file"; filename="a.txt"
Content-Type: text/plain

one
two
three
----------------------------235004

I want to do this action by only using plain HTTP calls. Is this behaviour correct? It looks like a file is created and the content is filled with my formdata.

도움이 되었습니까?

해결책

Setting the body to binary in Postman fixed my problem. Key is setting the correct content-length otherwise the file will get corrupted.

Get the content length of thee file with PowerShell

$file = "c:\temp\file.docx"
(Get-Item $file).Length
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top