I see that the OM API can do it, but is there any way to use the REST API to upload files (word docs and PDF's) to a document library, and update the data items as well. I want to use Java to do this, so the OM is not applicable.
1 Answer
You just use an HTTP PUT to place a file in a library. It's not so much REST as good old HTTP ...
From that link:
WebResponse response = null;
try
{
// Create a PUT Web request to upload the file.
WebRequest request = WebRequest.Create(SharePointPath);
request.Credentials = CredentialCache.DefaultCredentials;
request.Method = "PUT";
// Allocate a 1 KB buffer to transfer the file contents.
// You can adjust the buffer size as needed, depending on
// the number and size of files being uploaded.
byte[] buffer = new byte[1024];
// Write the contents of the local file to the
// request stream.
using (Stream stream = request.GetRequestStream())
using (FileStream fsWorkbook = File.Open(UploadedFilePath,
FileMode.Open, FileAccess.Read))
{
int i = fsWorkbook.Read(buffer, 0, buffer.Length);
while (i > 0)
{
stream.Write(buffer, 0, i);
i = fsWorkbook.Read(buffer, 0, buffer.Length);
}
}
// Make the PUT request.
response = request.GetResponse();
}
catch (Exception ex)
{
throw ex;
}
finally
{
response.Close();
}
To update them, then make REST calls subsequently. I've not found a way of doing this that isn't two stage.
-
Thanks!:) this works fine for me , and my file is getting uploade to a sharepoint document library.But the file stores in a check out mode, can u let me know how to check in those ....user10798– user107982012-09-19 06:58:54 +00:00Commented Sep 19, 2012 at 6:58
-
My problem is this works, but for instance Excel files are detected as ZIP files by Sharepoint. :( stackoverflow.com/questions/32857705/…Prof. Falken– Prof. Falken2015-09-30 11:41:49 +00:00Commented Sep 30, 2015 at 11:41