---
title: "DeleteUploads finishers"
manual: "Form"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/typo3/cms-form:finishers-delete-uploads@13.4"
source: "I/Concepts/Finishers/ReadyToUseFinishers/DeleteUploadsFinisher/Index.rst"
rendered: "2026-10-03T08:24:23+00:00"
---

# DeleteUploads finishers {#finishers-delete-uploads}

The "DeleteUploads finisher" removes submitted files. Use this finisher,
for example, after the email finisher if you do not want to keep the files
within your TYPO3 installation.

> [!NOTE]
> Finishers are only executed on successfully submitted forms. If a user uploads
> a file but does not finish the form successfully, the uploaded files will not
> be deleted.

**Table of contents**

-   [DeleteUploads finisher in the YAML form definition](https://docs.typo3.org/permalink/typo3/cms-form:deleteuploads-finisher-in-the-yaml-form-definition@13.4)
-   [Usage of the DeleteUploads finisher in PHP code](https://docs.typo3.org/permalink/typo3/cms-form:usage-of-the-deleteuploads-finisher-in-php-code@13.4)

> [!IMPORTANT]
> Finishers are executed in the order defined in your form definition.
>
> See [Finisher execution order](https://docs.typo3.org/permalink/typo3/cms-form:concepts-finishers-execution-order@13.4).

## DeleteUploads finisher in the YAML form definition {#concepts-finishers-deleteuploadsfinisher-yaml}

For example: use this finisher after the email finisher if you do not want
to keep the files online.

The finishers are executed in the order they are listed in the form definition
YAML file:

**public/fileadmin/forms/my_form.yaml**

```yaml
identifier: example-form
label: 'example'
type: Form

finishers:
  -
    identifier: EmailToSender
    options:
      subject: 'Your Message: {message}'
  -
    identifier: DeleteUploads
    # Define the delete uploads finisher AFTER the email finisher
# ...

```

## Usage of the DeleteUploads finisher in PHP code {#apireference-finisheroptions-deleteuploadsfinisher}

Developers can create a confirmation finisher by using the key `DeleteUploads`:

```php
<?php

use TYPO3\CMS\Form\Domain\Model\FormDefinition;

class SomeClass
{
    private function addDeleteUploadsFinisherWithMessage(FormDefinition $formDefinition, string $message)
    {
        $formDefinition->createFinisher('DeleteUploads');
    }
}

```

This finisher is implemented in `\TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher`.
