[TYPO3-german] Typo3 6.0.1 und extbase, File Uploads in Extensions

Benjamin Rau rau at codearts.at
Wed Feb 6 13:13:38 CET 2013


Hi Jan.

Also mein Upload sieht in Auszügen so aus:

/**
	 * action update
	 *
	 * @param Tx_Hcobjects_Domain_Model_Profile $profile
	 * @return void
	 */
	public function updateAction(Tx_Hcobjects_Domain_Model_Profile $profile) {
		
		[...]
		
		if ($_FILES['tx_hcprofiles_clubs'] ) {
			$basicFileFunctions = t3lib_div::makeInstance('t3lib_basicFileFunctions');
			
			$files = $_FILES['tx_hcprofiles_clubs'];
			
			$fileName = $basicFileFunctions->getUniqueName(
					$basicFileFunctions->cleanFileName($files['name']['profile']['image']),
					t3lib_div::getFileAbsFileName($profile->getBasePath())
			);
			
			$types = Array('image/png' => 'png', 'image/jpeg' => 'jpg', 'image/jpeg' => 'jpeg', 'image/gif' => 'gif');
			
			if($files['name']['profile']['image']=='') {
				$error = "Keine Datei ausgewählt";
			} elseif(!$files) {
				$error = "Dateien für nicht unterstützte Extension hochgeladen";
			} elseif($files['profile']['image']['error'] != 0) {
				$error = 'Allgemeiner Fehler beim Hochladen des Bildes';
			} elseif(array_key_exists($_FILES['tx_hcprofiles_clubs']['profile']['image']['type'], $types)) {
				$error = 'Das Sponsor Logo hat ein ungültiges Format';
			} elseif($basicFileFunctions->checkIfAllowed($_FILES['tx_hcprofiles_clubs']['profile']['image']['type'],t3lib_div::getFileAbsFileName($profile->getBasePath()),$fileName)) {
				$error = "Fileextension not allowed by configuration";
			} else {
				t3lib_div::upload_copy_move(
				$files['tmp_name']['profile']['image'],
				$fileName);
			
				$profile->setImage(basename($fileName));
			}
		}

		[...]

		$this->profileRepository->update($profile);
		$this->flashMessageContainer->add('Your Profile was updated.');
}


Gruß Benny



Am 06.02.2013 um 09:50 schrieb Ephraim Härer <ephraim at ephespage.de>:

> Hallo,
> ich würde mal in der aktuellen Powermail-Verison nachschauen,
> dort ist soweit ich weiß der Fileupload implementiert.
> 
> 
> MfG
> E. Härer
> 
> Am 06.02.2013 02:40, schrieb Jan Leifert:
>> Hallo Benny,
>> den Eindruck das extbase das nicht kann habe ich auch. Weil man wirklich
>> nirgendwo was zu dem Thema findet.
>> 
>> Aber warum werden $_FILES von extbase dann überhaupt verarbeitet?? Wenn
>> der RequestDispatcher die in Ruhe lassen würde würd das alte Beispiel
>> von typo3blogger.de funktionieren?!
>> 
>> Das hier hab ich noch gefunden:
>> 
>> http://forge.typo3.org/issues/5718
>> 
>> letzter Eintrag:
>> 
>> "Set this to 'on hold' because we have to wait until the new property
>> mapper can finally be used securely. This will be done for 6.1."
>> 
>> 
>> :-/ Ätzend!!
>> 
>> Ich glaub das $_FILES angefasst wird ist ein Code Rest davon und ich bau
>> es bei mir aus. Dann müsste die Lösung von typo3blogger.de funktionieren.
>> 
>> 
>> Am 05.02.13 22:56, schrieb Benjamin Rau:
>>> Hallo jan.
>>> 
>>> Extbase kam meines Wissens nach nativ noch keinen File upload handeln.
>>> 
>>> Du musst sie Speicherung selber schreiben, beispielsweise mir den pibase
>>> Klassen.
>>> 
>>> Danach den Dateinamen im Model setzen.
>>> 
>>> Gruß Benny
>>> Am 05.02.2013 22:27 schrieb "Jan Leifert" <jan at leifert.net>:
>>> 
>>>> Hallo,
>>>> 
>>>> ich such mich grade blöd für Beispiele von einem Dateiupload in einer
>>>> extbase extension. Das einzige was ich zu finde ist das hier:
>>>> 
>>>> http://typo3blogger.de/**extbase-file-upload/<http://typo3blogger.de/extbase-file-upload/>
>>>> 
>>>> 
>>>> Das Beispiel ist aber alt und funktioniert mit aktuellen extbase
>>>> Versionen
>>>> nicht mehr.
>>>> 
>>>> Das Problem scheint zu sein das extbase die Form-Inhalte schon
>>>> automatisch
>>>> auf das Model mapped, also versucht die Inhalte von $_FILES an meine
>>>> setImage Funktion zu übergeben. Die erwartet aber einen Dateinamen als
>>>> String und kein Array.
>>>> 
>>>> Ich vermut ja fast ich habe einfach den falschen Datentyp gewählt. Aber
>>>> Experimente mit Tx_Extbase_Domain_Model_File haben mich auch nicht
>>>> weitergebracht.
>>>> 
>>>> Grüße,
>>>> Jan Leifert
>>>> 
>>>> ______________________________**_________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-**german<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german>
>>>> 
>>>> 
>>>> 
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 



More information about the TYPO3-german mailing list