This is something I put together and never wrote up, so I might as well do so now.
Snagit by TechSmith is one of my favorite programs; I love being able to share what I’m seeing on my screen with collaborators and clients for easy comparisons with what they’re seeing.
With Snagit, there are several built-in output methods. Until recently, I mostly exported my screenshots to TechSmith’s Screencast.com service or to an online filebox I had built for myself on ClarkRasmussen.com via the built-in FTP functions. When I updated my filebox to use the Amazon Web Services S3 service, though, I lost the ability to upload files there straight from Snagit.
There is no Snagit to S3 output available but I found a way to do it via a Snagit program output and the S3 Browser program.
Snagit allows for outputs via the command line and S3 Browser has a command line mode, so the two can combine to allow you to upload files.
Let’s say you have an account in S3 Browser called myaccount and under that, you had a bucket called myfiles.domain.com. For added complexity you have a folder in that bucket called snagit where you want your outputted screenshots to live (though this added step can be skipped if you want to save straight to the bucket root). In that case, you can set up a Snagit program output with the following settings:
When you share using the S3 Browser Console Uploader output, your screenshot goes straight into your S3 bucket and you can share the URL as necessary.
That’s useful but I think it’s missing a step. When you share to Screencast.com or via FTP, the file’s new URL is copied to your clipboard, so you can just paste the new URL into whatever communication medium you’re using. That doesn’t happen here, you have to manually type out the new URL, but it can with another intermediary step.
I wrote a batch script that acts as a go-between for Snagit and S3 Browser. It takes in an additional parameter and uses that to assemble the new file’s URL, then copies that to the clipboard. The batch script looks as follows:
@ECHO OFF s3browser-put.exe "%1" "%2" "%3" set baseurl=%4 set filepath=%2 for /F %%i in ("%filepath%") do set filename=%%~ni%%~xi echo %baseurl%%filename% | clip :END
Disclaimer: I hadn’t written a batch script in ages prior to this, so this can probably be cleaned up a bit.
I save that script as snagit-s3browser.bat inside the S3 Browser root folder. My updated Snagit program output to take advantage of it looks as follows:
Since it’s truncated in the screen capture, the full Parameters line is as follows:
myaccount "<CaptureFilename>" myfiles.domain.com/snagit http://myfiles.domain.com/snagit/
This is similar to the first one except we’re pointing at the batch file rather than the S3 Browser command line utility directly. We’ve also added a fourth parameter that contains the base URL for your capture location, which maps to the bucket/folder combination used in the third parameter.
There’s no visual confirmation with this output but now when your share is complete, the file will have been uploaded and the new URL will be on your clipboard.
There might be a better way to do this but it’s been working pretty well for me. I’d love to hear if there are others solving the same problem differently.