Bonjour,

J'ai récemment intégré tinyMCE dans le cadre d'un blog. Je travaille sur un VPS et j'essaie de stocker dessus mes uploads pour ne garder en base que le chemin du fichier.
Seulement voilà, avec ma configuration actuelle, tinyMCE transfert instantanément toutes les images sur le serveur, avant la validation du formulaire. Cela me pose problème car si pendant l'édition d'un article, on retire une image, cette dernière est quand même sur le serveur, et je n'ai plus de moyen de l'identifier pour la supprimer...

Je ne sais pas si j'ai été très clair, mais en gros, j'aimerais que les uploads ne soient pas géré de façon asynchrone. Es-ce possible ?

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
tinymce.init({
    selector: '#articles_content',
    height: 500,
    plugins: [
      'advlist autolink link image imagetools lists charmap print preview hr anchor pagebreak spellchecker',
      'searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking',
      'save table contextmenu directionality emoticons template paste textcolor'
    ],
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons',
    images_upload_base_path: '/uploads/articles/tinyUploads',
    images_upload_url: '/uploads/articles/tinyUploads/postAcceptor.php',
    file_picker_types: 'image media',
    file_picker_callback: function (cb, value, meta) {
 
      var input = document.createElement('input');
      input.setAttribute('type', 'file');
      input.setAttribute('accept', 'image/*');
 
      input.onchange = function () {
        var file = this.files[0];
 
        var reader = new FileReader();
        reader.onload = function () {
 
          var id = 'blobid' + (new Date()).getTime();
          var blobCache =  tinymce.activeEditor.editorUpload.blobCache;
          var base64 = reader.result.split(',')[1];
          var blobInfo = blobCache.create(id, file, base64);
 
          blobCache.add(blobInfo);
 
          /* call the callback and populate the Title field with the file name */
          cb(blobInfo.blobUri(), { title: file.name });
        };
        reader.readAsDataURL(file);
      };  
      input.click();
    },
});
D'avance, merci à vous !