Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Un problema di sincronia?

    Sto facendo esperimenti con un interessante package che si chiama fabric js. Non sono bravo in JS, ma ho alla fine ottenuto una sorta di piccolo editor grafico per personalizzare etichette.
    Il problema è che il comportamento è diverso a seconda del server su cui gira. Si veda:
    1. il server Aruba
    2. il server Netsons
    Le pagine sono assolutamente identiche: si parte dalla selezione di una base grafica, poi si può aggiungere un'immagine, quindi una, o più scritte, alla fine si trasforma il tutto in immagine PNG.
    Questa parte finale, funziona con Aruba, non con Netsons! In realtà l'immagine registrata sul server è esatta. Se si fa reload su Netsons, il refresh mostra la giusta immagine.
    Temo dunque che sia un problema di PHP: la parte iniziale (davanti a <!DOCTYPE html> ) porta un semplice codice PHP:
    Codice PHP:
    $filename explode("."$_POST["trans_file"]); // nome file elaborato
        
    unlink("transit/" $_POST["trans_file"]);  // cancella il file vecchio
        
    $filesave $filename[0] . ".png"// $filesave contiene una sequenza base64
        
    $data $_POST["base64img_data"];
        
    $data explode(";"$data);
        
    $data explode(","$data[1]); // $data contiene la base64 con l'immagine nuova
        
    $immagine=base64_decode(chunk_split($data[1])); // la trasformo in PNG
        
    $handle fopen("transit/$filesave""wb"); // scrivo sul server
        
    fwrite($handle$immagine);
        
    fclose($handle); 
    Sembrerebbe che la scrittura del file avvenga bene, ma il browser (per ragioni che sto appunto chiedendo) prenda il file precedente, che viene cancellato all'inizio!
    Non so capire: qualcuno ha delle idee?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,650
    La creazione della png dovrebbe essere lato client guardando al volo la pagina dello script

  3. #3
    Mmm! Sarebbe certo più sicuro come tempistica, ma qui il problema è che si dovrebbe trovare una libreria JS che trasformi la base64 in PNG. So che esistono, e magari provo.
    Tuttavia, vorrei capire come mai esiste questa differenza di comportamento tra server diversi!
    Grazie comunque.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.