[TYPO3-german] Blob Aus der mysql ziehen

lee perry leeperry at slack.de
Fri Aug 8 10:35:41 CEST 2008


> Es ist halt so das ich mir mit dem "Extension manager", also Kickstarter 
> eine Tabelle erstellt habe, und darin ein feld um Dateien hochzuladen.
> Nun kann ich zwar im Backend das wunderbar machen, möchte aber aus der 
> eigenenExtension heraus möchte ich diese Dateien herunterladen können.
> 
> Was mich schon wundert ist, das in diesem Blob-Feld zwar der Name der Datei 
> drinsteht, das Feld selber aber als Binär angegeben wird.
> 
> Ich kann aus diesem Feld zwar den Dateinamen ziehen, aber anscheinend nicht 
> die Daten, nun vermute ich bald das der Kickstarter da etwas macht was ich 
> nicht sehe, also eben vielleicht die Datei wirklich nicht dort drinne ist, 
> sondern nur der Name, und die Datei evt irgendwo in einem anderen 
> verzeichnis? aber wo ist denn der Pfad dorthin zu finden?
> 
> hm verzwickte Sache, aber vielleicht kennt das ja jemand...

also eine extension über den kickstarter erstellt und dort ein 
fileupload integriert bedeutet, dass in diesem DB-feld wirklich nur der 
dateiname steht - die datei selbst wird im, für diese extension im 
uploads-ordner (automatisch) erstellten verzeichnis (extensionsname), 
abgelegt.
alle handlings auf diese datei erfolgen also auf den filenamen:

$filename = "uploads/tx_deineextensionname/".$row["datei"];

willst du die datei (z.b. ein bild) einfach nur im frontend der 
extension darstellen kannst du folgendes in deiner extension nutzen:


$imgConf['image.']['file'] = 'GIFBUILDER';
$imgConf['image.']['file.']['XY'] = '[10.w],[10.h]';
$imgConf['image.']['file.']['format'] = 'jpg';
$imgConf['image.']['file.']['10'] = 'IMAGE';
$imgConf['image.']['file.']['10.']['file'] = 
'uploads/tx_deinextensionname/'.($row['datei']);
$imgConf['image.']['file.']['10.']['file.']['maxW'] = 
$lConf['confangaben.']['image_maxW']; //conf-angaben um eine maximale 
breite zu forcieren (plugin-setup und deinen conf-angaben und so anpassen)
$imgConf['image.']['file.']['10.']['file.']['maxH'] = 
$lConf['confangaben.']['image_maxH']; //conf-angaben um eine maximale 
hoehe zu forcieren (plugin-setup und deinen conf-angaben und so anpassen)

$theImgCode = $this->cObj->IMAGE($imgConf['image.']);

da kommt dann ein IMG-tag mit deinem bild raus.

willst du die datei allerdings als download anbieten, musst du sie aus 
dem filesystem auslesen mit dem pfad ($filename - weiter oben)

grüße,
lee


More information about the TYPO3-german mailing list