<< 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.
Receiving "The specified file is not a valid spreadsheet or contains no data" when importing to Office 365
Restoring Specific Documents from a MOSS 2007 Content Database Backup
SharePoint STSADM AddSolution Object Reference not set to an Instance of the Object error
Enabling .NET Framework 3.5 in MOSS/WSS After install
SharePoint Browser 1 Released!
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: