2016-09-14 84 views
2

在過去,我以不同的方式實現了FAL前端上傳,例如使用自己的文件參考模型等。我也嘗試了helhum https://github.com/helhum/upload_example的上傳示例擴展。但是如果驗證失敗,文件也會被保存。所以我在網絡服務器上有很多垃圾文件。現在我尋找一個可行性來實現TYPO3核心功能的FAL上傳。或者有沒有最好的做法來處理沒有數據垃圾的FAL上傳?僅當驗證成功時FAL上傳

+0

我有這個問題在懈怠。可能的答案我在這裏輸入。 –

+1

我只是添加一個清理不需要的文件的清理命令。其他所有的都很好 –

+0

在這種情況下,可以使用文件來洪泛服務器。不是嗎? – freshp

回答

0

關於概述的用例(文件上傳成功,表單的其餘部分有驗證錯誤,用戶退出會話)我建議將上傳的文件存儲到某個臨時文件夾中,並在整個模型完成後將它們移動到另一個位置有效並可以使用存儲庫進行持久保存。

Helmut's example有可能在控制器邏輯

$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/' 
    ) 
); 

所有未完成的嘗試都存儲在專用文件夾中,然後可以通過某個計劃任務進行清除。