Download immagine creata con librerie gd

 Ciao a tutti, prima di tutti complimenti per il sito e per il forum, una risorsa infinita di soluzioni

Vorrei sottoporvi il mio problema:

Ho fatto uno script che crea delle immagini "al volo" con le librerie gd, funziona tutto perfettamente sia la creazione sia la visualizzazione. Il problema nasce quando voglio salvare l'immagine sul disco fisso, infatti se clicco col tasto destro del mouse sull'immagine per salvarla il file che viene salvato è il file .php che genera l'immagine. Una soluzione che ho pensato e verificato, è quella di mettere un link sotto all'immagine con riferimento ad una pagina php (a cui passo i parametri dell'immagine) che mi ricrea la stessa identica immagine e poi ne forza il download tramite appositi header. Questa soluzione funziona alla grande ma secondo me è uno spreco di risorse, in quanto lo stesso processo di creazione dell'immagine viene fatto 2 volte.

Precisazioni:

- Specifico che l'immagine che creo all'inizio non voglio sia salvata sul server.

- L'immagine viene visualizzata in una pagina attraverso il codice <img src="image.php?abc=xyz">

Quindi chiedo a voi se sapete darmi qualche soluzione alternativa per risolvere il problema.

Vi ringrazio dell'attenzione.

Update

Ho notato che il problema del salvataggio non avviene con IE 7, ma con firefox e safari si.

inviato 9 anni fa
silvicius
X 0 X

In verità il file salvato è l'immagine con il nome del file che la genera, hai provato semplicemente a rinominarla?

Questo succede perchè firefox, safari (a anche ie6) per il nome del file usano quello indicato in src=".....

risposto 9 anni fa
LonelyWolf
X 0 X

Si rinominandola funziona, avevo già provato ma credevo non fosse la via corretta. Non c'è un modo per rinominarla al volo, cioè farla scaricare già con l'estensione giusta. Inoltre, se volessi fare un pulsante download come si potrebbe fare un link per il download dell'immagine senza crearla nuovamente? Avevo letto di un metodo che utilizza la cache ma non so.

risposto 9 anni fa
silvicius
X 0 X

Ho notato che se creo una gif, invece di una jpeg o png, l'immagine viene salvata come xyz.php.gif. E una volta scaricata viene visualizzata correttamente. Quindi il problema sembra sia solo nelle jpeg e png.

Sito di esempio per farvi capire quello che voglio fare: http://ajaxload.info

Provate a cliccare col destro e fare salva immagine con nome. Poi provate a guardare il link del pulsante download.

risposto 9 anni fa
silvicius
X 0 X

credo che l'unico modo di veicolare un preciso nome per il file sia quello di usare degli header e un link o pulsante di download

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda