Since our file backend wasn't working, what I did here was attempt to match the `django-storages` S3 backend more closely in an attempt to improve ours. I think we'd be better to use the Django File subclass rather than the StringIO, but I don't know the tradeoffs.