Update createArticle-controller.php
This commit is contained in:
@@ -73,19 +73,28 @@ require_once '../validator/article-validator.php';
|
||||
mkdir($uploadDir, 0755, true);
|
||||
}
|
||||
|
||||
if (is_array($blocks)) {
|
||||
foreach ($blocks as &$block) {
|
||||
// Base64-Format-Prüfung:
|
||||
if ($block['type'] === 'image' && str_starts_with($block['value'], 'data:image/')) {
|
||||
// sicherstellen, dass 'type' und 'value' existieren:
|
||||
if (isset($block['type']) && isset($block['value']) && $block['type'] === 'image' && str_starts_with($block['value'], 'data:image/')) {
|
||||
|
||||
// Base64-String zerlegen:
|
||||
// Base64-String zerlegen
|
||||
$parts = explode(',', $block['value']);
|
||||
|
||||
// falls der String korrupt ist und kein Komma hat
|
||||
if (count($parts) < 2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$metadata = $parts[0];
|
||||
$base64Data = $parts[1];
|
||||
|
||||
// Dateiendung ermitteln
|
||||
preg_match('/data:image\/(?<extension>.*?);/', $metadata, $matches);
|
||||
$extension = $matches['extension'] ?? 'jpg';
|
||||
if ($extension === 'jpeg') { $extension = 'jpg'; }
|
||||
if ($extension === 'jpeg') {
|
||||
$extension = 'jpg';
|
||||
}
|
||||
|
||||
// Eindeutigen Dateinamen generieren
|
||||
$fileName = 'img_' . uniqid() . '.' . $extension;
|
||||
@@ -103,6 +112,7 @@ require_once '../validator/article-validator.php';
|
||||
}
|
||||
}
|
||||
unset($block);
|
||||
}
|
||||
|
||||
// Aktualisiertes Array wieder in JSON konvertieren
|
||||
$finalContent = json_encode($blocks, JSON_UNESCAPED_UNICODE);
|
||||
|
||||
Reference in New Issue
Block a user