cette fois les urls sont vraiment bien traitées partout

This commit is contained in:
Esenjin 2025-02-18 00:20:13 +01:00
parent dd154c632d
commit a625ee63d3
2 changed files with 18 additions and 6 deletions

View File

@ -82,7 +82,8 @@ class AboutImageUploadHandler {
// Retourner le chemin relatif pour l'éditeur
return [
'success' => true,
'url' => 'assets/images/about/' . $filename,
'url' => $filename,
'storage_url' => 'assets/images/about/' . $filename,
'width' => $needsResize ? $newWidth : $width,
'height' => $needsResize ? $newHeight : $height
];

View File

@ -24,25 +24,36 @@ document.addEventListener('DOMContentLoaded', function() {
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*');
input.click();
input.onchange = async () => {
const file = input.files[0];
if (file) {
const formData = new FormData();
formData.append('image', file);
try {
const response = await fetch('api/about-image-upload.php', {
method: 'POST',
body: formData
});
if (!response.ok) throw new Error('Upload failed');
const result = await response.json();
if (result.success) {
const range = aboutEditor.getSelection(true);
aboutEditor.insertEmbed(range.index, 'image', result.url);
// Utiliser le chemin complet pour l'affichage
aboutEditor.insertEmbed(range.index, 'image', '../' + result.storage_url);
// Mettre à jour le contenu Delta si nécessaire
const insertOp = aboutEditor.getContents().ops.find(op =>
op.insert && op.insert.image === '../' + result.storage_url
);
if (insertOp) {
// Stocker le chemin relatif
insertOp.insert.image = result.storage_url;
}
aboutEditor.setSelection(range.index + 1);
} else {
showNotification(result.error || 'Erreur lors de l\'upload', 'error');