Comunidad de diseño web y desarrollo en internet online

Descarga directa de imágenes

Citar            
MensajeEscrito el 23 May 2012 12:26 pm
Primero que todo comentar que esto lo he buscado por todas partes (sé lo molesto que es que se repitan los temas!), pero no consigo aplicar exactamente lo que quiero, aunque creo que es una soberana chorrada.

Bien, tengo un pequeño swf que te permite personalizar una bicicleta y guardar la imagen.
Lo que no consigo, es que te descargue directamente la imagen una vez guardada!
Consigo que con la opción

Código ActionScript :

navigateToURL(new URLRequest(vinculo_imagen))

me dirija a la imagen que se ha creado anteriormente, pero lo que quiero es que me la descargue, nada más!

Como deduciréis, mis conocimientos de AS3 no son muy extensos, de hecho la aplicación la hice en AS2, y la tuve que importar en 3 -con sangre, sudor y lágrimas- para añadir la opción de guardar la imagen. Pero creo que llegado a este punto la opción de descargarla no será gran cosa... no? :oops:

Muchas gracias!!

Por mibelgue

3 de clabLevel



 

3d y multimedia

firefox
Citar            
MensajeEscrito el 23 May 2012 12:41 pm
Si el usuario ha subido la imagen puedes usar Filereference.download, sino tienes que apoyarte en lenguajes de servidor para forzar el download (PHP, .Net, Java ... lo que tenga tu servidor)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 May 2012 12:59 pm
La verdad el problema no está en que el usuario haya subido o no la imagen, el tema es, ya que conozco el vínculo de la imagen, quiero la forma de que me la descargue directamente, no de que me la abra en una nueva pestaña...

Por mibelgue

3 de clabLevel



 

3d y multimedia

firefox
Citar            
MensajeEscrito el 23 May 2012 01:13 pm
No entendiste lo que te dije, mira la ayuda para Filereference.download, luego medita en como se obtiene un Filereference

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 May 2012 01:25 pm
Ahm, que bestia, creía que te referías a mirarlo... en una página externa para hacerlo por php (cosa que también he probado).
En fin, creo que queda patente mi ignorancia as3era. Lo buscaré de esta forma entonces, aunque el tema de los "packages" y los "publics" me trae un poco de cabeza al ser la primera vez que lo veo.

Por mibelgue

3 de clabLevel



 

3d y multimedia

firefox
Citar            
MensajeEscrito el 23 May 2012 01:26 pm
El PHP manda un encabezado para forzar la descarga, googlea por "PHP force download" y tienes una decena de scripts que hacen eso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 May 2012 05:00 pm
Si, he decidido tirar por php, que parece la mejor solución.

El problema me sale al intentar ejecutar el php, que es este:

<?php
$fileName=$_REQUEST['filename'].'.png';
header("Content-disposition: attachment; filename=$file");
header("Content-type: application/octet-stream");
echo $GLOBALS['HTTP_RAW_POST_DATA']
?>

Lo quiero poner para que, una vez esté guardada la imagen, esta se descargue, este es el código que me comprueba que está descargada:

function onSaveComplete(e){
trace('SAVE COMPLETE')
loadingsign.visible=false
}

Y quería ponerle esta función dentro:

function ejecutaPHP(url:String):void
{
var myLoader:URLLoader = new URLLoader()
myLoader.load(new URLRequest(url))
}

(función que por cierto pusiste tu aquí, Jorge). Igualando "url", a la dirección del php. Pero no me funciona.
Claro, no tengo ni idea si se puede anidar una función dentro de otra, o es una barbaridad, si voy bien encaminado, o que... alguna idea...?

Por mibelgue

3 de clabLevel



 

3d y multimedia

firefox
Citar            
MensajeEscrito el 23 May 2012 06:43 pm
Vaya, ya ni me acordaba que había puesto eso ;)
No lo pongas dentro, declara la función fuera y llamala en el callback

Código ActionScript :

function onSaveComplete(e){
   trace('SAVE COMPLETE')
   loadingsign.visible=false
   ejecutaPHP("algun.php")
}


No se si funciona con un Loader, sino prueba poniendo un navigateToURL en ventana nueva

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 May 2012 09:30 am
Pues nada... no consigo que me ejecute el php.

He probado con la ayuda de adobe, poniendo primero

import flash.net.FileReference;

y en la función de descarga

var request:URLRequest = new URLRequest(vinculo_imagen);
var fileRef:FileReference = new FileReference();
fileRef.download(request);

Y me funciona exactamente como quiero... pero de forma LOCAL. Me deja descargar el archivo, pero sólo cuando lo ejecuto desde flash, en cuanto lo subo no funciona... Tan cerca y tan lejos!

Por mibelgue

3 de clabLevel



 

3d y multimedia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.