While the standard behaviour is to store on GridFS, you can also provide your own MediaStorage
subclass which can store wherever you want to (file system, S3, etc.)
Something like this would do the trick:
from eve.io.media import MediaStorage
class AmazonS3MediaStorage(MediaStorage):
""" Your actual implementation """
pass
app = Eve(media=AmazonS3MediaStorage)
if __name__ == '__main__':
app.run()
Check out the actual MediaStorage
class for implementation details and/or see the actual GridFSMediaStorage class for reference.