async def save(self, fp, *, seek_begin=True):
data = await self.read()<EOL>if isinstance(fp, io.IOBase) and fp.writable():<EOL><INDENT>written = fp.write(data)<EOL>if seek_begin:<EOL><INDENT>fp.seek(<NUM_LIT:0>)<EOL><DEDENT>return written<EOL><DEDENT>else:<EOL><INDENT>with open(fp, '<STR_LIT:wb>') as f:<EOL><INDENT>return f.write(data)<EOL><DEDENT><DEDENT>
|coro|

        Saves this asset into a file-like object.

        Parameters
        ----------
        fp: Union[BinaryIO, :class:`os.PathLike`]
            Same as in :meth:`Attachment.save`.
        seek_begin: :class:`bool`
            Same as in :meth:`Attachment.save`.

        Raises
        ------
        Same as :meth:`read`.

        Returns
        --------
        :class:`int`
            The number of bytes written.