public void UploadFileAsync(
string sourceFileName,
Uri siteUri,
string destinationPath,
object userState
)
sourceFileName
The file containing the item data to upload. This value cannot be null (Nothing in VB) and must contain the location of an existing file on disk.
siteUri
Full URL to the destination SharePoint site. This could be http://MySite
or http://MySiteCollection/MySite
. This value cannot be null (Nothing in VB).
destinationPath
Destination path (folder and file name) of the item to be created in the SharePoint server. See the remarks section for more information. This value cannot be null (Nothing in VB).
userState
The optional user-supplied state object that is used to identify the task that raised the UploadCompleted event.
This method will return control immediately to your program and the UploadCompleted will occur when the upload operation is completed (successfully or if an error occurred).
This method will upload the content of sourceFileName to SharePoint server. The location and name of the destination item in the server is determined as follows:
DestinationFileFullUrl = siteUri + destinationPath
For example, assume the SharePoint server contains a folder with the following name:
http://site/Shared Documents/
And you want the uploaded item with the name File.ext
into this folder. You can perform this using this code:
Uri siteUri = new Uri(@"http://site");
string destinationPath = @"Shared Documents/File.ext";
sharePointClientObject.UploadFile(sourceFileName, siteUri, destinationPath);
You can use the .NET System.IO.Path and System.UriBuilder classes to build the path and URI of the items. No that destinationPath is allowed to contain slashes (/) as in HTTP URI's or forward slashes (\) as in Windows paths or a mix of both.
To upload a file synchronously, use UploadFile.
To upload the data in a stream to the server, use UploadStream or UploadStreamAsync.
To down an item from SharePoint, use DownloadFile, DownloadFileAsync, GetDownloadStream or GetDownloadStreamAsync.
This example will upload an image file to SharePoint asynchronously.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.SharePoint.Client;
public void SharePointClientUploadFileAsyncExample()
{
string sourceFileName = LEAD_VARS.ImagesDir + @"\Ocr1.tif";
// Replace SHAREPOINT_SITE_URI with a valid URL to a SharePoint site, for example
// http://SiteCollection/MySite
Uri siteUri = new Uri(SHAREPOINT_SITE_URI);
// Replace SHAREPOINT_FOLDER_NAME with a valid folder on the site above, for example
// "Documents" or "Documents\Sub Documents"
string folderName = SHAREPOINT_FOLDER_NAME;
SharePointClient spClient = new SharePointClient();
spClient.OverwriteExistingFiles = true;
// Optional: Set the credentials:
spClient.Credentials = new NetworkCredential(USER_NAME, PASSWORD, DOMAIN);
// If this is a console application demo, we might exit the program before the operation completes,
// so use a wait handle to not exit this method till the opreation completes
AutoResetEvent wait = new AutoResetEvent(false);
// Build the upload document full path (folder + file name)
string destinationPath = Path.Combine(folderName, Path.GetFileName(sourceFileName));
// Upload the document
spClient.UploadCompleted += new EventHandler<SharePointClientUploadCompletedEventArgs>(UploadFileAsyncCompleted);
spClient.UploadFileAsync(sourceFileName, siteUri, destinationPath, wait);
// Wait till the operation completes
Console.WriteLine("Waiting to upload to finish");
wait.WaitOne();
wait.Close();
}
private static void UploadFileAsyncCompleted(object sender, SharePointClientUploadCompletedEventArgs e)
{
// Remove our handler
SharePointClient spClient = sender as SharePointClient;
spClient.UploadCompleted -= new EventHandler<SharePointClientUploadCompletedEventArgs>(UploadFileAsyncCompleted);
Console.WriteLine("The source file: {0}", e.SourceFileName);
if (e.Error == null && !e.Cancelled)
{
// All OK, the file is in SharePoint
Console.WriteLine("Upload completed");
}
else
{
// Some error occured
if (e.Error != null)
Console.WriteLine(e.Error.Message);
else
Console.WriteLine("User cancelled");
}
// Tell whoever is listening that we are done
EventWaitHandle wait = e.UserState as EventWaitHandle;
wait.Set();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}