def append_files(self, request: ExtendedRequest):
        """
        Processes a single or multiple files sent in a single request inside
        a file uploading session.
        """

        client_files = self._get_request_client_files(request)
        if client_files:
            upload_dir = self.get_upload_dir()
            for client_file in client_files:
                filename = client_file['file'].name
                try:
                    self.validate_uploaded_file_name(filename=filename, upload_dir=Path(upload_dir))
                except UploadedFileError:
                    return Response(
                        status=status.HTTP_400_BAD_REQUEST,
                        data=f"File name {filename} is not allowed",
                        content_type="text/plain"
                    )

                with open(os.path.join(upload_dir, filename), 'ab+') as destination:
                    shutil.copyfileobj(client_file['file'], destination)

        return Response(status=status.HTTP_200_OK)

        Processes a single or multiple files sent in a single request inside
        a file uploading session.
        
cvat/apps/engine/mixins.py