<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=149.172.224.79</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=149.172.224.79"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/149.172.224.79"/>
	<updated>2026-05-06T16:27:10Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Extbase_-_Datei_Upload_ohne_FAL&amp;diff=21268</id>
		<title>Extbase - Datei Upload ohne FAL</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Extbase_-_Datei_Upload_ohne_FAL&amp;diff=21268"/>
		<updated>2015-10-22T11:57:50Z</updated>

		<summary type="html">&lt;p&gt;149.172.224.79: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;basiert auf https://forum.typo3.org/index.php/t/205140/ (Achtung z.t. nutzt dieses Beispiel deprecated Funktionen in 6.2, das Beispiel unten ist angepasst)&lt;br /&gt;
&lt;br /&gt;
Controller&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
namespace Geobit\Rmaupload\Controller;&lt;br /&gt;
use \TYPO3\CMS\Extbase\Utility\DebuggerUtility;&lt;br /&gt;
&lt;br /&gt;
/***************************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *	Copyright notice&lt;br /&gt;
 *&lt;br /&gt;
 *	(c) 2015 Stephan Schlegel &amp;lt;schlegel@geo-bit.de&amp;gt;, Geo-bit&lt;br /&gt;
 *&lt;br /&gt;
 *	All rights reserved&lt;br /&gt;
 *&lt;br /&gt;
 *	This script is part of the TYPO3 project. The TYPO3 project is&lt;br /&gt;
 *	free software; you can redistribute it and/or modify&lt;br /&gt;
 *	it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *	the Free Software Foundation; either version 3 of the License, or&lt;br /&gt;
 *	(at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *	The GNU General Public License can be found at&lt;br /&gt;
 *	http://www.gnu.org/copyleft/gpl.html.&lt;br /&gt;
 *&lt;br /&gt;
 *	This script is distributed in the hope that it will be useful,&lt;br /&gt;
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *	GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *	This copyright notice MUST APPEAR in all copies of the script!&lt;br /&gt;
 ***************************************************************/&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * UploadsController&lt;br /&gt;
 */&lt;br /&gt;
class UploadsController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {&lt;br /&gt;
	const UPLOAD_TARGET = &amp;#039;fileadmin/user_upload/rma/&amp;#039;;&lt;br /&gt;
	/**&lt;br /&gt;
	 * uploadsRepository&lt;br /&gt;
	 *&lt;br /&gt;
	 * @var \Geobit\Rmaupload\Domain\Repository\UploadsRepository&lt;br /&gt;
	 * @inject&lt;br /&gt;
	 */&lt;br /&gt;
	protected $uploadsRepository = NULL;&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * action new&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param \Geobit\Rmaupload\Domain\Model\Uploads $newUploads&lt;br /&gt;
	 * @ignorevalidation $newUploads&lt;br /&gt;
	 * @return void&lt;br /&gt;
	 */&lt;br /&gt;
	public function newAction(\Geobit\Rmaupload\Domain\Model\Uploads $newUploads = NULL) {&lt;br /&gt;
		$this-&amp;gt;view-&amp;gt;assign(&amp;#039;newUploads&amp;#039;, $newUploads);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * action create&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return void&lt;br /&gt;
	 */&lt;br /&gt;
	public function createAction() {&lt;br /&gt;
		$args = $this-&amp;gt;request-&amp;gt;getArguments();&lt;br /&gt;
		DebuggerUtility::var_dump($args);&lt;br /&gt;
		if( $this-&amp;gt;saveFile($args[&amp;#039;file&amp;#039;])){&lt;br /&gt;
			$this-&amp;gt;addFlashMessage(&amp;#039;Upload was successful&amp;#039;, &amp;#039;&amp;#039;, \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);&lt;br /&gt;
		}&lt;br /&gt;
		$this-&amp;gt;redirect(&amp;#039;new&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	* Stores the file&lt;br /&gt;
	*&lt;br /&gt;
	* @param \array $file&lt;br /&gt;
	* @return boolean $success&lt;br /&gt;
	*/&lt;br /&gt;
	public function saveFile($file) {&lt;br /&gt;
		$success = true;&lt;br /&gt;
		$date = new \DateTime();&lt;br /&gt;
		$basicFileFunctions = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(&amp;#039;TYPO3\CMS\Core\Utility\File\BasicFileUtility&amp;#039;);&lt;br /&gt;
		$types = Array(&amp;#039;text/csv&amp;#039; =&amp;gt; &amp;#039;csv&amp;#039;, &amp;#039;image/png&amp;#039; =&amp;gt; &amp;#039;png&amp;#039;, &amp;#039;image/jpeg&amp;#039; =&amp;gt; &amp;#039;jpg&amp;#039;, &amp;#039;image/jpeg&amp;#039; =&amp;gt; &amp;#039;jpeg&amp;#039;, &amp;#039;image/gif&amp;#039; =&amp;gt; &amp;#039;gif&amp;#039;);&lt;br /&gt;
		$absDestFilePath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName(self::UPLOAD_TARGET);&lt;br /&gt;
		$cleanFileName = $basicFileFunctions-&amp;gt;cleanFileName($date-&amp;gt;getTimestamp().&amp;#039;_&amp;#039;.$file[&amp;#039;name&amp;#039;]);&lt;br /&gt;
		$fileName = $absDestFilePath.$cleanFileName;&lt;br /&gt;
		//DebuggerUtility::var_dump($fileName);&lt;br /&gt;
		//die();&lt;br /&gt;
		&lt;br /&gt;
		if ($file[&amp;#039;size&amp;#039;] &amp;lt;= 0) {&lt;br /&gt;
			$this-&amp;gt;addFlashMessage(&amp;#039;Upload failed&amp;#039;, &amp;#039;&amp;#039;, \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);&lt;br /&gt;
			$success = FALSE;&lt;br /&gt;
		} elseif( !array_key_exists($file[&amp;#039;type&amp;#039;], $types) ) {&lt;br /&gt;
			$this-&amp;gt;addFlashMessage(&amp;#039;Invalid file format&amp;#039;, &amp;#039;&amp;#039;, \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);&lt;br /&gt;
			$success = FALSE;&lt;br /&gt;
		} else {&lt;br /&gt;
			if ( \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move( $file[&amp;#039;tmp_name&amp;#039;], $fileName) ) {&lt;br /&gt;
				$this-&amp;gt;addFlashMessage(&amp;#039;File &amp;#039;.$fileName.&amp;#039; saved&amp;#039;, &amp;#039;&amp;#039;, \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);&lt;br /&gt;
				//$this-&amp;gt;file = basename($fileName);&lt;br /&gt;
			}else{&lt;br /&gt;
				$this-&amp;gt;addFlashMessage(&amp;#039;File &amp;#039;.$fileName.&amp;#039; could not be saved.&amp;#039;, &amp;#039;&amp;#039;, \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);&lt;br /&gt;
				$success = FALSE;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return $success;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann kannst du im Formular das ganz einfach hochladen mit&lt;br /&gt;
 &amp;lt;f:form.upload property=&amp;quot;daten.userimage&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ist sicher nicht perfekt. Zum Beispiel zum error reporting etc.&lt;br /&gt;
Aber vielleicht hilft es. Denke man kann das ganze sicher noch umbauen das es auch mit FAL funktioniert.&lt;/div&gt;</summary>
		<author><name>149.172.224.79</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Extbase_-_Datei_Upload_ohne_FAL&amp;diff=21267</id>
		<title>Extbase - Datei Upload ohne FAL</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Extbase_-_Datei_Upload_ohne_FAL&amp;diff=21267"/>
		<updated>2015-10-22T09:43:16Z</updated>

		<summary type="html">&lt;p&gt;149.172.224.79: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://forum.typo3.org/index.php/t/205140/&lt;br /&gt;
&lt;br /&gt;
Habe einmal folgende Lösung gefunden: Nutzt aber kein FAL!&lt;br /&gt;
&lt;br /&gt;
in deinem Domain model wo das Bild zugeordnet sein soll:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
const UPLOAD_TARGET = &amp;#039;fileadmin/userimages/&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
* Sets the userimage&lt;br /&gt;
*&lt;br /&gt;
* @param \array $userimage&lt;br /&gt;
* @return void&lt;br /&gt;
*/&lt;br /&gt;
public function setUserimage($userimage) {&lt;br /&gt;
    $date = new \DateTime();&lt;br /&gt;
    $basicFileFunctions = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(&amp;#039;TYPO3\CMS\Core\Utility\File\BasicFileUtility&amp;#039;);&lt;br /&gt;
    $types = Array(&amp;#039;image/png&amp;#039; =&amp;gt; &amp;#039;png&amp;#039;, &amp;#039;image/jpeg&amp;#039; =&amp;gt; &amp;#039;jpg&amp;#039;, &amp;#039;image/jpeg&amp;#039; =&amp;gt; &amp;#039;jpeg&amp;#039;, &amp;#039;image/gif&amp;#039; =&amp;gt; &amp;#039;gif&amp;#039;);&lt;br /&gt;
    $fileName = $basicFileFunctions-&amp;gt;getUniqueName( &lt;br /&gt;
        $basicFileFunctions-&amp;gt;cleanFileName($date-&amp;gt;getTimestamp().&amp;#039;_&amp;#039;.$userimage[&amp;#039;name&amp;#039;]),&lt;br /&gt;
        \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName(self::UPLOAD_TARGET)&lt;br /&gt;
    );&lt;br /&gt;
    if ($userimage[&amp;#039;size&amp;#039;] &amp;lt;= 0) {&lt;br /&gt;
        $error = &amp;#039;Upload fehlgeschlagen&amp;#039;;&lt;br /&gt;
    } elseif( !array_key_exists($userimage[&amp;#039;type&amp;#039;], $types) ) {&lt;br /&gt;
        $error = &amp;#039;Das Bild hat ein ungültiges Format&amp;#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
        if ( \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move( $userimage[&amp;#039;tmp_name&amp;#039;], $fileName) ) {&lt;br /&gt;
        $this-&amp;gt;userimage = basename($fileName);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann kannst du im Formular das ganz einfach hochladen mit&lt;br /&gt;
 &amp;lt;f:form.upload property=&amp;quot;daten.userimage&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ist sicher nicht perfekt. Zum Beispiel zum error reporting etc.&lt;br /&gt;
Aber vielleicht hilft es. Denke man kann das ganze sicher noch umbauen das es auch mit FAL funktioniert.&lt;/div&gt;</summary>
		<author><name>149.172.224.79</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Extbase_-_Datei_Upload_ohne_FAL&amp;diff=21266</id>
		<title>Extbase - Datei Upload ohne FAL</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Extbase_-_Datei_Upload_ohne_FAL&amp;diff=21266"/>
		<updated>2015-10-22T09:41:09Z</updated>

		<summary type="html">&lt;p&gt;149.172.224.79: Die Seite wurde neu angelegt: „https://forum.typo3.org/index.php/t/205140/  Habe einmal folgende Lösung gefunden: Nutzt aber kein FAL!  in deinem Domain model wo das Bild zugeordnet sein so…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://forum.typo3.org/index.php/t/205140/&lt;br /&gt;
&lt;br /&gt;
Habe einmal folgende Lösung gefunden: Nutzt aber kein FAL!&lt;br /&gt;
&lt;br /&gt;
in deinem Domain model wo das Bild zugeordnet sein soll:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
const UPLOAD_TARGET = &amp;#039;fileadmin/userimages/&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
* Sets the userimage&lt;br /&gt;
*&lt;br /&gt;
* @param \array $userimage&lt;br /&gt;
* @return void&lt;br /&gt;
*/&lt;br /&gt;
public function setUserimage($userimage) {&lt;br /&gt;
$date = new \DateTime();&lt;br /&gt;
&lt;br /&gt;
$basicFileFunctions = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(&amp;#039;TYPO3\CMS\Core\Utility\File\BasicFileUtility&amp;#039;);&lt;br /&gt;
$types = Array(&amp;#039;image/png&amp;#039; =&amp;gt; &amp;#039;png&amp;#039;, &amp;#039;image/jpeg&amp;#039; =&amp;gt; &amp;#039;jpg&amp;#039;, &amp;#039;image/jpeg&amp;#039; =&amp;gt; &amp;#039;jpeg&amp;#039;, &amp;#039;image/gif&amp;#039; =&amp;gt; &amp;#039;gif&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
$fileName = $basicFileFunctions-&amp;gt;getUniqueName(&lt;br /&gt;
$basicFileFunctions-&amp;gt;cleanFileName($date-&amp;gt;getTimestamp().&amp;#039;_&amp;#039;.$userimage[&amp;#039;name&amp;#039;]),&lt;br /&gt;
\TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName(self::UPLOAD_TARGET)&lt;br /&gt;
);&lt;br /&gt;
if ($userimage[&amp;#039;size&amp;#039;] &amp;lt;= 0) {&lt;br /&gt;
$error = &amp;#039;Upload fehlgeschlagen&amp;#039;;&lt;br /&gt;
} elseif( !array_key_exists($userimage[&amp;#039;type&amp;#039;], $types) ) {&lt;br /&gt;
$error = &amp;#039;Das Bild hat ein ungültiges Format&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
if ( \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move( $userimage[&amp;#039;tmp_name&amp;#039;], $fileName) ) {&lt;br /&gt;
$this-&amp;gt;userimage = basename($fileName);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann kannst du im Formular das ganz einfach hochladen mit&lt;br /&gt;
 &amp;lt;f:form.upload property=&amp;quot;daten.userimage&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ist sicher nicht perfekt. Zum Beispiel zum error reporting etc.&lt;br /&gt;
Aber vielleicht hilft es. Denke man kann das ganze sicher noch umbauen das es auch mit FAL funktioniert.&lt;/div&gt;</summary>
		<author><name>149.172.224.79</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Extbase_-_File_Abstraction_Layer_(FAL)&amp;diff=21265</id>
		<title>Extbase - File Abstraction Layer (FAL)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Extbase_-_File_Abstraction_Layer_(FAL)&amp;diff=21265"/>
		<updated>2015-10-22T09:40:14Z</updated>

		<summary type="html">&lt;p&gt;149.172.224.79: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
https://wiki.typo3.org/File_Abstraction_Layer&lt;br /&gt;
&lt;br /&gt;
[[Extbase - Datei Upload ohne FAL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemein Dateien mit Extbase Handeln ==&lt;br /&gt;
In general, you should be able to call getOriginalResource() on a \TYPO3\CMS\Extbase\Domain\Model\FileReference object. For more concrete examples, either refer to the doc links or have a look at the wiki for a example handling FileReferences.&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Basics ===&lt;br /&gt;
http://www.typo3tiger.de/blog/post/extbase-fal-beispiel.html&lt;br /&gt;
=== Beispiel Dateiupload ===&lt;br /&gt;
http://www.koller-webprogramming.ch/tipps-tricks/typo3-extension-entwicklung-extbase/dateien-und-bilder-mit-extbase-61-uploaddownload-via-fal-file-abstraction-layer/&lt;br /&gt;
=== Beispiel File Referenz dynamisch erzeugen ===&lt;br /&gt;
http://www.typo3tiger.de/blog/post/extbase-fal-filereference-im-controller-erzeugen.html&lt;br /&gt;
&lt;br /&gt;
Dynamisch bedeutet hier, dass nach dem Upload dynamisch eine FAL FileReference zu einem Objekt im Controller erzeugt wird. Somit kann man die neue Datei auch gleich einem vorhandenen oder neu erstellten Objekt zuordnen.&lt;br /&gt;
&lt;br /&gt;
Allgemeines Vorgehen:&lt;br /&gt;
* Erweitern der Klasse &amp;#039;&amp;#039;&amp;#039;FileReference&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;TCA&amp;#039;&amp;#039;&amp;#039; Konfiguration vervollständigen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Parameter&amp;#039;&amp;#039;&amp;#039; an TCA übergeben (Methode getFileFieldTCAConfig mit dem Parameter foreign_match_fields&lt;br /&gt;
&lt;br /&gt;
Achtung: Grund für so manche Verwirrung ist, dass TYPO3 zwei unterschiedliche FileReference-Klassen liefert: &lt;br /&gt;
Das Extbase Model &amp;#039;&amp;#039;\TYPO3\CMS\Extbase\Domain\Model\FileReference&amp;#039;&amp;#039; sowie das Core Model &amp;#039;&amp;#039;\TYPO3\CMS\Core\Resource\FileReference&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extbase Model (FileReference)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace Vendor\Ext\Domain\Model;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class FileReference&lt;br /&gt;
 */&lt;br /&gt;
class FileReference extends \TYPO3\CMS\Extbase\Domain\Model\FileReference {&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * uid of a sys_file&lt;br /&gt;
     *&lt;br /&gt;
     * @var integer&lt;br /&gt;
     */&lt;br /&gt;
    protected $originalFileIdentifier;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * setOriginalResource&lt;br /&gt;
     *&lt;br /&gt;
     * @param \TYPO3\CMS\Core\Resource\FileReference $originalResource&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setOriginalResource(\TYPO3\CMS\Core\Resource\FileReference $originalResource) {&lt;br /&gt;
        $this-&amp;gt;originalResource = $originalResource;&lt;br /&gt;
        $this-&amp;gt;originalFileIdentifier = (int)$originalResource-&amp;gt;getOriginalFile()-&amp;gt;getUid();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * setFile&lt;br /&gt;
     *&lt;br /&gt;
     * @param \TYPO3\CMS\Core\Resource\File $falFile&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setFile(\TYPO3\CMS\Core\Resource\File $falFile) {&lt;br /&gt;
        $this-&amp;gt;originalFileIdentifier = (int)$falFile-&amp;gt;getUid();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extbase Model (Person)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace Vendor\Ext\Domain\Model;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class Person&lt;br /&gt;
 */&lt;br /&gt;
class Person extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * title&lt;br /&gt;
     *&lt;br /&gt;
     * @var string&lt;br /&gt;
     */&lt;br /&gt;
    protected $title = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * image&lt;br /&gt;
     *&lt;br /&gt;
     * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference&lt;br /&gt;
     */&lt;br /&gt;
    protected $image = NULL;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns the title&lt;br /&gt;
     *&lt;br /&gt;
     * @return string $title&lt;br /&gt;
     */&lt;br /&gt;
    public function getTitle() {&lt;br /&gt;
        return $this-&amp;gt;title;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Sets the title&lt;br /&gt;
     *&lt;br /&gt;
     * @param string $title&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setTitle($title) {&lt;br /&gt;
        $this-&amp;gt;title = $title;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns the image&lt;br /&gt;
     *&lt;br /&gt;
     * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image&lt;br /&gt;
     */&lt;br /&gt;
    public function getImage() {&lt;br /&gt;
        return $this-&amp;gt;image;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Sets the image&lt;br /&gt;
     *&lt;br /&gt;
     * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image) {&lt;br /&gt;
        $this-&amp;gt;image = $image;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extbase Controller (Person)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace Vendor\Ext\Domain\Model;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class PersonController&lt;br /&gt;
 */&lt;br /&gt;
class PersonController  extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {&lt;br /&gt;
&lt;br /&gt;
   /**&lt;br /&gt;
    * personRepository&lt;br /&gt;
    *&lt;br /&gt;
    * @var \Vendor\Ext\Domain\Repository\PersonRepository&lt;br /&gt;
    * @inject&lt;br /&gt;
    */&lt;br /&gt;
    protected $personRepository;&lt;br /&gt;
&lt;br /&gt;
   /**&lt;br /&gt;
    * pesistenceManager - not neccessary since 6.2&lt;br /&gt;
    *&lt;br /&gt;
    * @var \TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager&lt;br /&gt;
    * @inject&lt;br /&gt;
    */&lt;br /&gt;
    protected $persistenceManager;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Action addImage&lt;br /&gt;
     *&lt;br /&gt;
     * @param \Vendor\Ext\Domain\Model\Person $person&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function AddImageAction(\Vendor\Ext\Domain\Model\Person $person) {&lt;br /&gt;
&lt;br /&gt;
        $storageRepository = $this-&amp;gt;objectManager-&amp;gt;get(&amp;#039;TYPO3\\CMS\\Core\\Resource\\StorageRepository&amp;#039;);&lt;br /&gt;
        $storage = $storageRepository-&amp;gt;findByUid(&amp;#039;1&amp;#039;);&lt;br /&gt;
        $targetFolder = $storage-&amp;gt;createFolder(&amp;#039;path/to/target_folder&amp;#039;);&lt;br /&gt;
        $originalFilePath = &amp;#039;/tmp/tempfile.png&amp;#039;;&lt;br /&gt;
        $newFileName = &amp;#039;myfile123.png&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if (file_exists($originalFilePath)) {&lt;br /&gt;
            $movedNewFile = $storage-&amp;gt;addFile($originalFilePath, $targetFolder, $newFileName);&lt;br /&gt;
            $newFileReference = $this-&amp;gt;objectManager-&amp;gt;get(&amp;#039;Vendor\\Ext\\Domain\\Model\\FileReference&amp;#039;);&lt;br /&gt;
            $newFileReference-&amp;gt;setFile($movedNewFile);&lt;br /&gt;
            $person-&amp;gt;setImage($newFileReference);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $this-&amp;gt;personRepository-&amp;gt;update($person);&lt;br /&gt;
        // Not neccessary since 6.2&lt;br /&gt;
        $this-&amp;gt;persistenceManager-&amp;gt;persistAll();&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TCA Konfiguration (Person)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;image&amp;#039; =&amp;gt; array(&lt;br /&gt;
	&amp;#039;exclude&amp;#039; =&amp;gt; 1,&lt;br /&gt;
	&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;LLL:EXT:ext/Resources/Private/Language/locallang_db.xlf:tx_ext_domain_model_person.image&amp;#039;,&lt;br /&gt;
	&amp;#039;config&amp;#039; =&amp;gt; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(&lt;br /&gt;
		&amp;#039;image&amp;#039;,&lt;br /&gt;
		array(&lt;br /&gt;
			&amp;#039;maxitems&amp;#039; =&amp;gt; 6,&lt;br /&gt;
			&amp;#039;foreign_match_fields&amp;#039; =&amp;gt; array(&lt;br /&gt;
				&amp;#039;fieldname&amp;#039; =&amp;gt; &amp;#039;image&amp;#039;,&lt;br /&gt;
				&amp;#039;tablenames&amp;#039; =&amp;gt; &amp;#039;tx_ext_domain_model_person&amp;#039;,&lt;br /&gt;
				&amp;#039;table_local&amp;#039; =&amp;gt; &amp;#039;sys_file&amp;#039;,&lt;br /&gt;
			),&lt;br /&gt;
		),&lt;br /&gt;
		$GLOBALS[&amp;#039;TYPO3_CONF_VARS&amp;#039;][&amp;#039;GFX&amp;#039;][&amp;#039;imagefile_ext&amp;#039;]&lt;br /&gt;
	),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Typoscript Konfiguration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
config.tx_extbase {&lt;br /&gt;
	persistence {&lt;br /&gt;
		classes {&lt;br /&gt;
			Vendor\Ext\Domain\Model\FileReference {&lt;br /&gt;
				mapping {&lt;br /&gt;
					tableName = sys_file_reference&lt;br /&gt;
					columns {&lt;br /&gt;
						uid_local.mapOnProperty = originalFileIdentifier&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		objects {&lt;br /&gt;
			TYPO3\CMS\Extbase\Domain\Model\FileReference.className = Vendor\Ext\Domain\Model\FileReference&lt;br /&gt;
		}&lt;br /&gt;
		updateReferenceIndex = 1&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Upload Beispiel - Reusable Code ===&lt;br /&gt;
Um wiederverwendbar für alle Controller zu sein, darf der Code nicht im Controller sein. Dann wirds aber komplizierter. Hier ein Beispiel wie es geht:&lt;br /&gt;
 https://github.com/helhum/upload_example&lt;br /&gt;
 http://insight.helhum.io/post/85015526410/file-upload-using-extbase-and-fal-in-typo3-62&lt;br /&gt;
 http://ab-softlab.tumblr.com/post/119838114044/fileupload-in-frontend-using-typo3-6x-or-7-fal (Step by Step Anleitung)&lt;br /&gt;
http://wiki.zone30.info/wikizone/images/8/8b/Upload_example-master.zip&lt;/div&gt;</summary>
		<author><name>149.172.224.79</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Extbase_-_File_Abstraction_Layer_(FAL)&amp;diff=21264</id>
		<title>Extbase - File Abstraction Layer (FAL)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Extbase_-_File_Abstraction_Layer_(FAL)&amp;diff=21264"/>
		<updated>2015-10-22T07:45:15Z</updated>

		<summary type="html">&lt;p&gt;149.172.224.79: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
https://wiki.typo3.org/File_Abstraction_Layer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemein Dateien mit Extbase Handeln ==&lt;br /&gt;
In general, you should be able to call getOriginalResource() on a \TYPO3\CMS\Extbase\Domain\Model\FileReference object. For more concrete examples, either refer to the doc links or have a look at the wiki for a example handling FileReferences.&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Basics ===&lt;br /&gt;
http://www.typo3tiger.de/blog/post/extbase-fal-beispiel.html&lt;br /&gt;
=== Beispiel Dateiupload ===&lt;br /&gt;
http://www.koller-webprogramming.ch/tipps-tricks/typo3-extension-entwicklung-extbase/dateien-und-bilder-mit-extbase-61-uploaddownload-via-fal-file-abstraction-layer/&lt;br /&gt;
=== Beispiel File Referenz dynamisch erzeugen ===&lt;br /&gt;
http://www.typo3tiger.de/blog/post/extbase-fal-filereference-im-controller-erzeugen.html&lt;br /&gt;
&lt;br /&gt;
Dynamisch bedeutet hier, dass nach dem Upload dynamisch eine FAL FileReference zu einem Objekt im Controller erzeugt wird. Somit kann man die neue Datei auch gleich einem vorhandenen oder neu erstellten Objekt zuordnen.&lt;br /&gt;
&lt;br /&gt;
Allgemeines Vorgehen:&lt;br /&gt;
* Erweitern der Klasse &amp;#039;&amp;#039;&amp;#039;FileReference&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;TCA&amp;#039;&amp;#039;&amp;#039; Konfiguration vervollständigen&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Parameter&amp;#039;&amp;#039;&amp;#039; an TCA übergeben (Methode getFileFieldTCAConfig mit dem Parameter foreign_match_fields&lt;br /&gt;
&lt;br /&gt;
Achtung: Grund für so manche Verwirrung ist, dass TYPO3 zwei unterschiedliche FileReference-Klassen liefert: &lt;br /&gt;
Das Extbase Model &amp;#039;&amp;#039;\TYPO3\CMS\Extbase\Domain\Model\FileReference&amp;#039;&amp;#039; sowie das Core Model &amp;#039;&amp;#039;\TYPO3\CMS\Core\Resource\FileReference&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extbase Model (FileReference)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace Vendor\Ext\Domain\Model;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class FileReference&lt;br /&gt;
 */&lt;br /&gt;
class FileReference extends \TYPO3\CMS\Extbase\Domain\Model\FileReference {&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * uid of a sys_file&lt;br /&gt;
     *&lt;br /&gt;
     * @var integer&lt;br /&gt;
     */&lt;br /&gt;
    protected $originalFileIdentifier;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * setOriginalResource&lt;br /&gt;
     *&lt;br /&gt;
     * @param \TYPO3\CMS\Core\Resource\FileReference $originalResource&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setOriginalResource(\TYPO3\CMS\Core\Resource\FileReference $originalResource) {&lt;br /&gt;
        $this-&amp;gt;originalResource = $originalResource;&lt;br /&gt;
        $this-&amp;gt;originalFileIdentifier = (int)$originalResource-&amp;gt;getOriginalFile()-&amp;gt;getUid();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * setFile&lt;br /&gt;
     *&lt;br /&gt;
     * @param \TYPO3\CMS\Core\Resource\File $falFile&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setFile(\TYPO3\CMS\Core\Resource\File $falFile) {&lt;br /&gt;
        $this-&amp;gt;originalFileIdentifier = (int)$falFile-&amp;gt;getUid();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extbase Model (Person)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace Vendor\Ext\Domain\Model;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class Person&lt;br /&gt;
 */&lt;br /&gt;
class Person extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * title&lt;br /&gt;
     *&lt;br /&gt;
     * @var string&lt;br /&gt;
     */&lt;br /&gt;
    protected $title = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * image&lt;br /&gt;
     *&lt;br /&gt;
     * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference&lt;br /&gt;
     */&lt;br /&gt;
    protected $image = NULL;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns the title&lt;br /&gt;
     *&lt;br /&gt;
     * @return string $title&lt;br /&gt;
     */&lt;br /&gt;
    public function getTitle() {&lt;br /&gt;
        return $this-&amp;gt;title;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Sets the title&lt;br /&gt;
     *&lt;br /&gt;
     * @param string $title&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setTitle($title) {&lt;br /&gt;
        $this-&amp;gt;title = $title;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns the image&lt;br /&gt;
     *&lt;br /&gt;
     * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image&lt;br /&gt;
     */&lt;br /&gt;
    public function getImage() {&lt;br /&gt;
        return $this-&amp;gt;image;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Sets the image&lt;br /&gt;
     *&lt;br /&gt;
     * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image) {&lt;br /&gt;
        $this-&amp;gt;image = $image;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extbase Controller (Person)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace Vendor\Ext\Domain\Model;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class PersonController&lt;br /&gt;
 */&lt;br /&gt;
class PersonController  extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {&lt;br /&gt;
&lt;br /&gt;
   /**&lt;br /&gt;
    * personRepository&lt;br /&gt;
    *&lt;br /&gt;
    * @var \Vendor\Ext\Domain\Repository\PersonRepository&lt;br /&gt;
    * @inject&lt;br /&gt;
    */&lt;br /&gt;
    protected $personRepository;&lt;br /&gt;
&lt;br /&gt;
   /**&lt;br /&gt;
    * pesistenceManager - not neccessary since 6.2&lt;br /&gt;
    *&lt;br /&gt;
    * @var \TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager&lt;br /&gt;
    * @inject&lt;br /&gt;
    */&lt;br /&gt;
    protected $persistenceManager;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Action addImage&lt;br /&gt;
     *&lt;br /&gt;
     * @param \Vendor\Ext\Domain\Model\Person $person&lt;br /&gt;
     * @return void&lt;br /&gt;
     */&lt;br /&gt;
    public function AddImageAction(\Vendor\Ext\Domain\Model\Person $person) {&lt;br /&gt;
&lt;br /&gt;
        $storageRepository = $this-&amp;gt;objectManager-&amp;gt;get(&amp;#039;TYPO3\\CMS\\Core\\Resource\\StorageRepository&amp;#039;);&lt;br /&gt;
        $storage = $storageRepository-&amp;gt;findByUid(&amp;#039;1&amp;#039;);&lt;br /&gt;
        $targetFolder = $storage-&amp;gt;createFolder(&amp;#039;path/to/target_folder&amp;#039;);&lt;br /&gt;
        $originalFilePath = &amp;#039;/tmp/tempfile.png&amp;#039;;&lt;br /&gt;
        $newFileName = &amp;#039;myfile123.png&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if (file_exists($originalFilePath)) {&lt;br /&gt;
            $movedNewFile = $storage-&amp;gt;addFile($originalFilePath, $targetFolder, $newFileName);&lt;br /&gt;
            $newFileReference = $this-&amp;gt;objectManager-&amp;gt;get(&amp;#039;Vendor\\Ext\\Domain\\Model\\FileReference&amp;#039;);&lt;br /&gt;
            $newFileReference-&amp;gt;setFile($movedNewFile);&lt;br /&gt;
            $person-&amp;gt;setImage($newFileReference);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $this-&amp;gt;personRepository-&amp;gt;update($person);&lt;br /&gt;
        // Not neccessary since 6.2&lt;br /&gt;
        $this-&amp;gt;persistenceManager-&amp;gt;persistAll();&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TCA Konfiguration (Person)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;image&amp;#039; =&amp;gt; array(&lt;br /&gt;
	&amp;#039;exclude&amp;#039; =&amp;gt; 1,&lt;br /&gt;
	&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;LLL:EXT:ext/Resources/Private/Language/locallang_db.xlf:tx_ext_domain_model_person.image&amp;#039;,&lt;br /&gt;
	&amp;#039;config&amp;#039; =&amp;gt; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(&lt;br /&gt;
		&amp;#039;image&amp;#039;,&lt;br /&gt;
		array(&lt;br /&gt;
			&amp;#039;maxitems&amp;#039; =&amp;gt; 6,&lt;br /&gt;
			&amp;#039;foreign_match_fields&amp;#039; =&amp;gt; array(&lt;br /&gt;
				&amp;#039;fieldname&amp;#039; =&amp;gt; &amp;#039;image&amp;#039;,&lt;br /&gt;
				&amp;#039;tablenames&amp;#039; =&amp;gt; &amp;#039;tx_ext_domain_model_person&amp;#039;,&lt;br /&gt;
				&amp;#039;table_local&amp;#039; =&amp;gt; &amp;#039;sys_file&amp;#039;,&lt;br /&gt;
			),&lt;br /&gt;
		),&lt;br /&gt;
		$GLOBALS[&amp;#039;TYPO3_CONF_VARS&amp;#039;][&amp;#039;GFX&amp;#039;][&amp;#039;imagefile_ext&amp;#039;]&lt;br /&gt;
	),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Typoscript Konfiguration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
config.tx_extbase {&lt;br /&gt;
	persistence {&lt;br /&gt;
		classes {&lt;br /&gt;
			Vendor\Ext\Domain\Model\FileReference {&lt;br /&gt;
				mapping {&lt;br /&gt;
					tableName = sys_file_reference&lt;br /&gt;
					columns {&lt;br /&gt;
						uid_local.mapOnProperty = originalFileIdentifier&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		objects {&lt;br /&gt;
			TYPO3\CMS\Extbase\Domain\Model\FileReference.className = Vendor\Ext\Domain\Model\FileReference&lt;br /&gt;
		}&lt;br /&gt;
		updateReferenceIndex = 1&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Upload Beispiel - Reusable Code ===&lt;br /&gt;
Um wiederverwendbar für alle Controller zu sein, darf der Code nicht im Controller sein. Dann wirds aber komplizierter. Hier ein Beispiel wie es geht:&lt;br /&gt;
 https://github.com/helhum/upload_example&lt;br /&gt;
 http://insight.helhum.io/post/85015526410/file-upload-using-extbase-and-fal-in-typo3-62&lt;br /&gt;
 http://ab-softlab.tumblr.com/post/119838114044/fileupload-in-frontend-using-typo3-6x-or-7-fal (Step by Step Anleitung)&lt;br /&gt;
http://wiki.zone30.info/wikizone/images/8/8b/Upload_example-master.zip&lt;/div&gt;</summary>
		<author><name>149.172.224.79</name></author>
	</entry>
</feed>