[TYPO3-german] Fluid/Extbase: Wie kann ein Benutzer ein Bild hochladen?

Jost Baron Jost.Baron at gmx.de
Fri Jul 20 09:55:55 CEST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Robert,

Hast du mal probiert, das Array
$_FILE['tx_psa_user_psapsadatamanager'] nach dem Upload an Fluid zu
übergeben und mit f:debug auszugeben? Da kriegt man eine ziemlich gute
Debug-Ausgabe, vielleicht findest du dort den Grund.

Un ein Schuss ins Blaue: Was passiert, wenn du im Fluid-Template statt
name="filename" den Wert property="filename" setzt? Dann müssten die
Daten über

$_FILES['tx_psa_user_psapsadatamanager']['name']['userFileUploadForm']['filename']

erreichbar sein.

Gruß Jost

On 07/19/2012 03:59 PM, Robert Schneider wrote:
> Ich hoffe, mir kann nochmal wer helfen.
> 
> Mein Fluid-Template sieht so aus:
> 
> <f:form action="update" enctype="multipart/form-data" 
> name="userFileUploadForm" method="post"> <f:form.upload
> name="filename"/> <f:form.submit value="Start"/> </f:form>
> 
> 
> Und in der Action greife ich nun zum Debuggen mal so darauf zu:
> 
> t3lib_utility_Debug::debug( 
> $_FILES['tx_psa_user_psapsadatamanager']['name']['filename']);
> 
> Da sehe ich immerhin schon, dass der richtige Dateiname vorhanden
> ist. Auch die Größe der Datei kann ich mir ausgeben lassen.
> tmp_name macht aber Probleme:
> 
> 
> t3lib_utility_Debug::debug( 
> $_FILES['tx_psa_user_psapsadatamanager']['tmp_name']['filename']);
> 
> lässt nicht einmal die Debugausgabe erscheinen. Wenn ich
> 
> t3lib_utility_Debug::debug( 
> array_keys($_FILES['tx_psa_user_psapsadatamanager']['tmp_name']));
> 
> mache, dann wird mir zwar der key 'filename:' angezeigt, aber
> irgendwie ist da nichts drin - NULL ist es aber auch nicht. print_r
> auf $_FILES['tx_psa_user_psapsadatamanager']['tmp_name'] erzeugt
> auch keine Debug-Ausgabe.
> 
> Was ist da los, was mache ich falsch?
> 
> 
> Am 19.07.2012 11:58, schrieb Robert Schneider:
>> Dank dir, Jost.
>> 
>> Das mit dem Dateiverschieben, wird man wohl auch brauchen.
>> Derzeit stecke ich aber schon am Controller und im Fluid fest.
>> Wie muss das denn genau ausschauen? Braucht man da das
>> object-Attribut im form-Element? Falls ja, muss ich das mit
>> $this->view->assign mit etwas befüllen?
>> 
>>> Den Namen der Datei im temporären Verzeichnis findest du in
>>> der
>> Variablen
>>> $_FILES['tx_extkey_pluginkey']['tmp_name'][...]['datei'],
>> 
>> Meinst du mit'datei' den Namen, den ich in Fluid auch angebe?
>> Kann es dann eigentlich Probleme geben, wenn das zwei Benutzer
>> ungefähr gleichzeitig machen (was in meinem Fall nicht der Fall
>> sein wird)?
>> 
>> Gruß, Robert
>> 
>> 
>> Am 19.07.2012 10:36, schrieb Jost Baron:
> Hi Robert,
> 
> an der Stelle ist es - meines Wissens nach - zuende mit der Magie
> von extbase und fluid. Die Datei landet im temporären Verzeichnis,
> und muss dann manuell von dort in das Upload-Verzeichnis kopiert
> werden.
> 
> Den Namen der Datei im temporären Verzeichnis findest du in der 
> Variablen 
> $_FILES['tx_extkey_pluginkey']['tmp_name'][...]['datei'],
> 
> den Namen der hochgeladenen Datei in 
> $_FILES['tx_extkey_pluginkey']['name'][...]['datei']
> 
> [...] steht dabei für den Pfad zu der property, die dem
> Upload-Feld gegeben wurde. Wenn das Uploadfeld also z.B. Namen 
> tx_extkey[foo][bar][datei] hat, ist der Dateiname in
> 
> $_FILES['tx_extkey_pluginkey']['tmp_name']['foo']['bar']['datei']
> 
> drin. Mit den beiden Informationen kannst du dann die Datei dahin 
> verschieben wo du Lust hast, einen Service zu diesem Zweck (sicher 
> optimierbar) findest du hier:
> 
> http://pastebin.com/kCRxj7du
> 
> 
> Eventuell gibt es sowas aber auch schon in der
> community-Extension, vielleicht lohnt sich auch ein Blick dort
> hinein.
> 
> Gruß Jost
> 
> On 07/19/2012 10:17 AM, Robert Schneider wrote:
>>>>> Hi! Dies ist mein erstes Posting in der Newsgroup. Bin
>>>>> gespannt, wie das hier mit der Hilfe klappt. Darauf bin ich
>>>>> noch sehr angewiesen.
>>>>> 
>>>>> Also, mein Problem: Ich würde gerne einen Benutzer im
>>>>> Backend eine CSV-Datei hochladen lassen, die dann
>>>>> weiterverarbeitet werden soll. Aber wie schaffe ich das?
>>>>> Hat vielleicht wer ein einfaches aber vollständiges
>>>>> Beispiel dazu? Es zermürbt mich schon sehr, dass ich das
>>>>> nicht selbst herauffinden kann. Was ich unter 
>>>>> http://typo3blogger.de/extbase-file-upload/ gefunden habe,
>>>>> hilft mir auch nicht so richtig weiter. Wo würden
>>>>> hochgeladene Dateien eigentlich landen - im
>>>>> uploads-Ordner?
>>>>> 
>>>>> Kann mir wer helfen?
>>>>> 
>>>>> Danke und Gruß, Robert 
>>>>> _______________________________________________
>>>>> 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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJQCQ8GAAoJEG6HPMAgWtVzaR4P+wV6oMmjdrL0Xb2ZbRxPArmx
pHsF1/2Lo8OppgXLWLy8LmCx5mxnr27uWcs4Z1lBlCJfhi4q7jk8hVOumxFTYBAd
HNkNw9pO8GE872jLQT3JSdP+9sUfhciPzBUGA+CzXGLVSNwJDoeNxHAUUMln4tMB
RTeWGo/+6z1284mtxeyYCtTAP6DzGoEPFQW92RdHAzIeJM7SZWzW4ZPdINDOqA4q
kec4zv6qHZb7WdPnyMRLdIMQmAiYFG7ui9liHV5+Yo31LRdrQTwhtqP6IKrlEb5M
zfcaO5xDegaFZPlRbaU9oMgiNPlrjg77EhEGZB95BBxrfMKyLkQiLqFO6T/TYENp
DoPN6+JxkOn9BqPWeFl59ksNPANYQbXzF3+3rZGsduRJr3qmza0gelmJGl4u9Us6
T48/A4XokOSjciDP6cBBnee2lC2eUy2mQ0m3bKA7jXsdITTuqQh2KaSRd9WFxWSv
ymbBLdn4QjFOYTF68kJFEj/+3oTVuo035UyvVM6bWultJQdq9fUM6E83varGq24B
c3PCUKsSxu8i8Xbl3nk3lM5JM1axfxBQcmxaK/slMTPHS0RIzjAwET6EnITgMAT6
4LxzipYXcFnNWysb+mk4NPhJ+6k1UmVeu0tbg0EuUfFEqQlUFfGQU7JFjw2m+qCj
STtYogkt4pexC7oVu0Eh
=WpNZ
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list