I often take screenshots and upload them for my friends to see -- especially while working on web projects etc. So I created an Automator workflow that does this automagically!
First the workflow snaps the whole screen and saves it to the desktop. Then a bash script is run wich uses ftp to upload the image to the webserver. It then takes the URL of the image and copies it to the clipboard. Lastly it notifies you of the upload via Growl. It has no error handling or anything. This is my first workflow and bash script ever, but it works for me.
In Automator, create the following steps in a new blank workflow:
#!/bin/sh
# Author: Simon Ljungberg @ www.nimnim.se
# Edit the 5 lines below to fit your configuration
# URL will be copied to your clipboard!
HOST='yourftphost'
USER='yourusername'
PASSWD='yourpassword'
REMOTEFILE='pathtoremotefile(including filename)'
URL='http://yourdomain.com/screens/screenshot.png'
# If you change this you need to change the rm-line too.
# For some reason (I'm new at this) I couldn't get the file
# to disappear when using the variable...
LOCALFILE='~/Desktop/tmpScreen.png'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
put $LOCALFILE $REMOTEFILE
bye
END_SCRIPT
rm ~/Desktop/tmpScreen.png
echo $URL | pbcopyMac OS X Hints
http://hints.macworld.com/article.php?story=20090612164009491