Zum Inhalt springen

Dateiupload und dann ?

Erstellt am 25. November 2006 · 4 Antworten · letzte Antwort am 27. November 2006

Tags: Frage

mr.​mc.​mauser ·

Hallo,

ich habe zum Schreibens einer eigenen Extension die folgende Frage(n):

Beispiel:
Ich habe über den Kickstarter nun eine Tabelle anlegen lassen, in der man 3 Dateien Uploaden bzw. aus dem Fileadmin wählen kann.

Jetzt habe ich eine Mysql abfrage mit der ich das Blobfeld auslesen kann.
Darin steht immer nur der Dateiname des Files. Egal ob Upload oder Aus Fileadmin.

Nun meine Frage:

1.Wie mache ich ein Filelink zu diesen Dateien die Typo3 immer in den Ordner /uploads/meineextension/ legt.
2.Gibt es eine Möglichkeit das dateien die ich nicht hochlade sondern im Fileadmin Ordner auswähle wiederzufinden ohne das diese Automatisch nach Uploads verschoben werden ?

Ich habe schon viel gesucht habe jedoch nur hinweise gefunden zu Externen Links, und Internen Seiten Links, aber Filelinks finde ich nicht !

Gruß
Robert

steffenk ·

die Links generiert man mit typolink, der Parameter ist der präfix(uploads/tx_myext_pi1/) und der Filename.

Das Uploaddirectory ist fester Bestandteil des Typo3-Cores.

mr.​mc.​mauser ·

Danke,

hat geklappt !
Für leute die es auch suchen hier der CODE:
Der Dateiname liegt in $file_ein

$lnk['extTarget']="_blank";
$lnk['parameter']="uploads/my_ext/".$file_ein;
$Link=$this->cObj->typoLink($file_ein,$lnk);

Gruß
Robert

mr.​mc.​mauser ·

Hallo nochmal,

Das 1te problem ist behoben aber das 2te nicht !

Wenn ich eine Datei unter Fileadmin auswähle wird diese Kopiert, aber ich möchte doch nur den Pfad dieser Datei in der DB Speichern!

Gibt es villeicht eine andere mögliche keit zur auswahl wie im Kickstarter Fied typ = File

Gruß
Robert

Bitbull ·

Hallo Mr.Mc.Mauser,

Keine Bange - das File wird nicht binär in der DB gespeichert, per Default wird lediglich der Typ des Feldes auf BLOB gesetzt und der Dateiname ohne Pfadangabe (!) im Feld gespeichert. Physisch wird das Bild automatisch in dem uploads-Folder (uploads/tx_deineExtension/) abgelegt - unabhängig davon, woher Du das File auswählst.

Daher ist es auch sinnvoll, in Deiner Extension eine Variable (bzw. Konstante) zu definieren, die die Pfadangabe enthält.

z.B.

$picPath="uploads/tx_deineExtension/";

Alles andere hat steffenk auf den Punkt gebracht: Ist halt eine Core-Einstellung. Außer dem zwangsweise höheren Seicherbedarf bei Doppelsicherung in fileadmin UND uploads (der aber bei modernen Servern mit meist mehr als 80GB Kapazität eher als marginal einzustufen ist) hat das ja auch keine Nachteile und stellt somit allenfalls einen Schönheitsfehler, aber kein "echtes" Problem dar. - Denke nur immer daran, den upload-Folder für Backups zu sichern.

Keine allzu langen (Mause-)Zähne beim weiteren Tüfteln wünscht Dir

Bitbull