def from_file(self, file, store=current_store,
                  extra_args=None, extra_kwargs=None):
        if isinstance(file, cgi.FieldStorage):
            file = file.file
        data = io.BytesIO()
        shutil.copyfileobj(file, data)
        data.seek(0)
        return self.from_raw_file(data, store, original=True,
                                  extra_args=extra_args,
                                  extra_kwargs=extra_kwargs)