Hallo,
da ich einen manuellen User-Upload mit eigenem Formular vorhabe - wie generiere ich denn die Felder uuid und hash für die Dateien, die ich selber
per SQL in die Tabelle tl_files schreibe?
Danke schonmal
Mark
Hallo,
da ich einen manuellen User-Upload mit eigenem Formular vorhabe - wie generiere ich denn die Felder uuid und hash für die Dateien, die ich selber
per SQL in die Tabelle tl_files schreibe?
Danke schonmal
Mark
Im Prinzip musst du nur folgendes machen, anstatt selbst in tl_files zu schreiben:Aber sieh dir dazu einfach das File Upload Form Field aus dem core an, unter system/modules/core/forms/FormFileUpload.php, ab Zeile #239 (Contao 3.2.12).PHP-Code:
\Dbafs::addResource($strFile);
Hier wird auch zuerst nachgesehen ob die Datei schon in der Datenbank existiert.PHP-Code:
// Generate the DB entries
$strFile = $strUploadFolder . '/' . $file['name'];
$objFile = \FilesModel::findByPath($strFile);
// Existing file is being replaced (see #4818)
if ($objFile !== null)
{
$objFile->tstamp = time();
$objFile->path = $strFile;
$objFile->hash = md5_file(TL_ROOT . '/' . $strFile);
$objFile->save();
}
else
{
$objFile = \Dbafs::addResource($strFile);
}
das klingt gut .... danke
kann man da auch direkt die meta-daten anfügen? oder hole ich mir dann erst die id des files wieder aus der tabelle
und schreibe die daten dann manuell?
edit: mh, mein Formular kommt allerdings nicht aus dem Formulargenerator, da ich für den FileUpload den https://github.com/blueimp/jQuery-File-Upload im Frontend nutzen wollte.
Kann ich quasi auch ein "externes" Script mit Contao ansprechen?
Mark
Geändert von Mark Knochen (29.07.2014 um 12:28 Uhr)
Stimmt - hab's ausprobiert und es scheint zu klappen - die meta Daten kann ich serialisiert in den blob packen - und dann würde ich den MetaWizard um die entsprechenden Felder erweitern.
Könnte also klappen ... Danke
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)