2

過去に、たとえば独自のファイル参照モデルなどを使用して、さまざまな方法で FAL フロントエンド アップロードを実装しました。また、helhum https://github.com/helhum/upload_exampleのアップロード サンプル拡張機能も試しました。ただし、検証が失敗した場合でもファイルは保存されます。そのため、Web サーバーには多くのごみファイルがあります。現在、TYPO3 コア関数を使用して FAL アップロードを実装する可能性を探しています。または、データのゴミなしで FAL アップロードを処理するためのベスト プラクティスはありますか?

4

1 に答える 1

0

概説された使用例 (ファイルのアップロードは成功し、フォームの残りの部分に検証エラーがあり、ユーザーはセッションを終了しました) に関しては、アップロードされたファイルを一時フォルダーに保存し、モデル全体が有効になってから別の場所に移動することをお勧めします。リポジトリを使用して永続化されます。

Helmut の例に従って、コントローラー ロジックで一時アップロード フォルダーを定義することが可能です。

$uploadConfiguration = [
    UploadedFileReferenceConverter::CONFIGURATION_UPLOAD_FOLDER
        => '1:/temporary-uploads/',
];
$this->arguments[$argumentName]
    ->getPropertyMappingConfiguration();
    ->forProperty('image')
    ->setTypeConverterOptions(
        UploadedFileReferenceConverter::class,
        $uploadConfiguration
    );

次に、特定のコントローラーアクションで、ファイルを実際のフォルダーに移動します

$model->getImage()->getOriginalResource()->moveTo(
    ResourceFactory::getInstance()->retrieveFileOrFolderObject(
        '1:/valid-uploads/'
    )
);

未完了の試行はすべて専用のフォルダーに保存され、スケジュールされたタスクによって削除できます。

于 2016-10-14T14:47:40.803 に答える