SharePointClient Class
Summary
Provides client access support to Microsoft SharePoint servers.
Syntax
public class SharePointClient
Public Class SharePointClient
public ref class SharePointClient
Example
This example will connect to a Microsoft SharePoint Server to download an image file. It will then invert the image before uploading it back to the Sharepoint Server.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.SharePoint.Client
Private Shared Sub SharePointClientExample()
' Replace SHAREPOINT_SITE_URI with a valid URL to a SharePoint site, for example
' http://SiteCollection/MySite
Dim siteUri As New Uri(SHAREPOINT_SITE_URI)
' Replace SHAREPOINT_FOLDER_NAME with a valid folder on the site above, for example
' "Documents" or "Documents\Sub Documents"
Dim folderName As String = SHAREPOINT_FOLDER_NAME
' Replace SHAREPOINT_DOCUMENT_NAME with a valid document on the folder above, for example
' MyDocument.tif
Dim documentName As String = SHAREPOINT_DOCUMENT_NAME
' Build the full URL to the document are we going to download
Dim builder As New UriBuilder(siteUri)
builder.Path = Path.Combine(builder.Path, folderName)
builder.Path = Path.Combine(builder.Path, documentName)
Dim sourceDocumentUri As Uri = builder.Uri
Dim spClient As New SharePointClient()
' Optional: Set the credentials:
If Not IsNothing(USER_NAME) Then
spClient.Credentials = New NetworkCredential(USER_NAME, PASSWORD, DOMAIN)
End If
' Optional: If you must use a Proxy server to connect to SharePoint, set it up:
If Not IsNothing(PROXY_HOST) Then
Dim proxy As New WebProxy(PROXY_HOST, PROXY_PORT)
spClient.Proxy = proxy
End If
Dim tempFileName As String = Path.GetTempFileName()
Try
' Download the SharePoint item to the temporary file
Console.WriteLine("Downloading {0}", sourceDocumentUri)
spClient.DownloadFile(sourceDocumentUri, tempFileName)
' Load the image
Using codecs As New RasterCodecs()
Using image As RasterImage = codecs.Load(tempFileName)
' Invert it
Console.WriteLine("Inverting")
Dim cmd As New InvertCommand()
cmd.Run(image)
' Save it back to the same file
Console.WriteLine("Saving back to disk")
codecs.Save(image, tempFileName, image.OriginalFormat, image.BitsPerPixel)
End Using
End Using
' Upload the file back with a new name (OriginalName_Inverted.ext)
Dim name As String = Path.GetFileNameWithoutExtension(documentName)
Dim ext As String = Path.GetExtension(documentName)
name = name + "_Inverted"
name = Path.ChangeExtension(name, ext)
' Get the destination path (destination folder + file name)
Dim destinationPath As String = Path.Combine(folderName, name)
Console.WriteLine("Uploading to {0}", destinationPath)
' Make sure to overwrite the file if it already exists
spClient.OverwriteExistingFiles = True
spClient.UploadFile(tempFileName, siteUri, destinationPath)
Finally
' Delete the temporary file
File.Delete(tempFileName)
End Try
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.SharePoint.Client;
private static void SharePointClientExample()
{
// 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;
// Replace SHAREPOINT_DOCUMENT_NAME with a valid document on the folder above, for example
// MyDocument.tif
string documentName = SHAREPOINT_DOCUMENT_NAME;
// Build the full URL to the document are we going to download
UriBuilder builder = new UriBuilder(siteUri);
builder.Path = Path.Combine(builder.Path, folderName);
builder.Path = Path.Combine(builder.Path, documentName);
Uri sourceDocumentUri = builder.Uri;
SharePointClient spClient = new SharePointClient();
// Optional: Set the credentials:
if (USER_NAME != null)
{
spClient.Credentials = new NetworkCredential(USER_NAME, PASSWORD, DOMAIN);
}
// Optional: If you must use a Proxy server to connect to SharePoint, set it up:
if (PROXY_HOST != null)
{
WebProxy proxy = new WebProxy(PROXY_HOST, PROXY_PORT);
spClient.Proxy = proxy;
}
string tempFileName = Path.GetTempFileName();
try
{
// Download the SharePoint item to the temporary file
Console.WriteLine("Downloading {0}", sourceDocumentUri);
spClient.DownloadFile(sourceDocumentUri, tempFileName);
// Load the image
using (RasterCodecs codecs = new RasterCodecs())
{
using (RasterImage image = codecs.Load(tempFileName))
{
// Invert it
Console.WriteLine("Inverting");
new InvertCommand().Run(image);
// Save it back to the same file
Console.WriteLine("Saving back to disk");
codecs.Save(image, tempFileName, image.OriginalFormat, image.BitsPerPixel);
}
}
// Upload the file back with a new name (OriginalName_Inverted.ext)
string name = Path.GetFileNameWithoutExtension(documentName);
string ext = Path.GetExtension(documentName);
name = name + "_Inverted";
name = Path.ChangeExtension(name, ext);
// Get the destination path (destination folder + file name)
string destinationPath = Path.Combine(folderName, name);
Console.WriteLine("Uploading to {0}", destinationPath);
// Make sure to overwrite the file if it already exists
spClient.OverwriteExistingFiles = true;
spClient.UploadFile(tempFileName, siteUri, destinationPath);
}
finally
{
// Delete the temporary file
File.Delete(tempFileName);
}
}