<< Back To All Blogs
Using MOSS and WSS SharePoint Workflow to Resize Images in an Image Library
Thursday, May 14th, 2009
It is often a request that image libraries have all of their image widths or heights normalized when they are uploaded to a SharePoint Image Library.
SharePoint does not natively include this functionality, so workflow is necessary to resolve the issue.
Image resizing is out of the scope of this blog post, and I have a class that I have used for a long time to achieve resizing. For the case of this blog post which
is going to be short, I will leave out the details of resizing an image, maintaining aspect ratio, etc.
On to the code:
// workflowProperties it the property set for workflow that you would have defined as
// a SPWorkflowActivationProperties object at the beginning of your workflow
// Item is specific to the item in workflow, File is the file item associated with the image library item
Resizer resizer = new Resizer(workflowProperties.Item.File.OpenBinaryStream());
resizer.Width = 1000;
// My Resize method will alter the image and return a stream of the data
Stream returned = resizer.Resize();
// The File supports a SaveBinary method which can take a stream in this case, but also a byte array
// Update the item and you are done
// Make sure you clean up your stream
Pretty straight-forward, but took me some time and digging to get to the bottom of the File.
Resizin' Tom Out.
Understanding SharePoint Template Ids
Starting SharePoint workflow for each item in a list
Fixing "The given key was not present in the dictionary" error in SharePoint 2010 Installation
Fixing SharePoint error Log with "Preserving template record"
Currently no comments.
Add A Comment
Email Address: (not public, used to send notifications on further comments)
Enter the text above, except for the 1st and last character: