Hi Robert,

die temporäre Datei wird natürlich gelöscht, wenn der TYPO3-Request abgearbeitet ist, du findest also hinterher manuell nichts mehr im xampp/tmp-Verzeichnis.

f:debug in Fluid funktioniert z.B. mit {variable -> f:debug()}, wobei du deinem View natürlich die Variable "variable" irgendwann zugewiesen haben muss.

Hast du vielleicht am Ende deiner updateAction ein redirect eingebaut? Dann ist jegliche Variablenzuweisung an den view hinterher natürlich weg (es wird ja ein ganz neuer Request gestartet). Du könntest das redirect aber auskommentieren und ein neues Template für die Update-Action anlegen, das nur debug-Zwecken dient.

Am 7/20/2012 12:03 PM, schrieb Robert Schneider:
Hi Jost,

das mit dem property-Attribut hilft schon etwas weiter. Das mit debug im
Fluid klappt bei mir überhaupt nicht (übrigens T3-Version 4.7.1), da
kann ich nicht einmal einen String ausgeben lassen.

Was ein Problem in der Debug-Ausgabe mit t3lib_utility_Debug::debug ist,
habe ich nun herausgefunden: Scheinbar wird die ganze Ausgabe gleich
ganz unterbunden, wenn Sonderzeichen vorkommen. Denn, wenn ich einen
String mit urlencode umwandle, dann geht's. So bin ich nun darauf
gekommen, dass mir

t3lib_utility_Debug::debug(">>>" .
urlencode($_FILES['tx_psa_user_psapsadatamanager']['tmp_name']['userFileUploadForm']['filename']));


diese Ausgabe liefert: 'C%3A%5Cxampp%5Ctmp%5Cphp14FF.tmp'.
Übersetzt heißt das: 'C:\xampp\tmp\php14FF.tmp'.

Blöd, dass da debug so komisch funktioniert. Warum wandelt es nicht
selbst in darstellbare Zeichen um?

Naja, und

t3lib_utility_Debug::debug(urlencode($_FILES['tx_psa_user_psapsadatamanager']['error']['userFileUploadForm']['filename']));


liefert mir 0. Also kein Fehler. Und eine Dateigröße ist auch vorhanden
(12 Bytes).

Da bin ich ja jetzt schon mal einen Schritt weiter. Nur: Die Datei ist
leider nicht da.

Habe mir die php.ini angeschaut. file_uploads ist auf 'On' gesetzt. Das
sollte also nicht das Problem sein. Mache das übrigens alles lokal. Ich
glaube, das Problem hat aber jetzt nichts mehr mit Typo3 zu tun.

Muss noch schauen.

Danke dir nochmal soweit, Jost. Das hat mir schon geholfen. Und das mit
dem weiteren Prozedere ist wahrscheinlich auch hilfreich. Aber dazu
komme ich erst noch.

Gruß und schönes WE.
Robert




Am 20.07.2012 09:55, schrieb Jost Baron:
-----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@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german






_______________________________________________ TYPO3-german
mailing list TYPO3-german@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-----



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an