Save to a self.tempfile() so it's properly cleaned up afterwards