Pero al ser una llamada ajax, el onload no se ejecuta.
¿Alguna sugerencia?
La llamada al metodo ajax que genera la foto que es? Un link o que? Si
es asi fijate que podes usar :oncomplete, :after, etc. para hacer un
callback cuando termine y ejecutar otra accion.
On Wed, Jul 11, 2007 at 04:20:41PM +0200, Luis V. wrote:
Sí es un remote_link y ya había pensado en el :complete. El problema es que
la acción se ejecutaría nada más ejecutarse el método, y puede darse la
posibilidad de que las imágenes se borren antes de descargarse del todo. Por
eso me gustaría saber si se puede controlar no sólo que se haya terminado la
llamada ajax, sino que se hayan cargado todos los elementos de la página.
¿Y por qué en lugar de hacer eso no eliminas esas imágenes
periódicamente? Puedes hacerlo incluso usando el script runner (o con
una tarea de Rake).
Ya habÃa pensado en eso, pero es información confidencial y me gustarÃa
que
estuviesen en la carpeta pública del servidor el menor tiempo posible.
Ahora mismo, las imágenes se generan con una cadena aleatoria de 12
caracteres, pero estoy un poco paranoico por la seguridad.
¿Has probado a servir las imágenes con send_file[1]? De esa forma puedes
restringir las imágenes que permites servir a cada usuario. Como avisan
en la API, restringe bien los archivos que envías y no uses nada tipo
send_file(params[:path]) o puedes tener un disgusto
Ya había pensado en eso, pero es información confidencial y me
gustaría que estuviesen en la carpeta pública del servidor el menor
tiempo posible.
Ahora mismo, las imágenes se generan con una cadena aleatoria de 12
caracteres, pero estoy un poco paranoico por la seguridad.
En ese caso puede que lo mejor sea que las imagenes las sirva un
controlador, tendras el control total y estaras mas tranquilo:
def image
if user_is_allowed_to_see_it
send_file …
else
render :nothing => true
end
end
Si tienes un Apache (o lighty) con mongrel cluster puedes hacer que
esa llamada a send_file resulte en delegar en el frontend el servicio
del archivo de veras con el modulo mod_xsendfile y este plugin:
Buenas. Ante todo, gracias por las respuestas. Al tema: Llevo un
par de días con lo de send file, y me surge una duda… ¿Hay alguna
forma de mandar varias imágenes al html que se genera?
Ahora sólo se me ocurre como mandar una. ¿Alguna sugerencia?
No, pero recuerda como van las peticiones web.
Primero el navegador pide la pagina. Cuando la tiene solo tiene
codigo fuente. Lo parsea y manda una request por cada recurso
adicional necesario, por cada CSS, cada JavaScript, cada imagen, etc.
Por tanto, el pedir una sola pagina web puede perfectamente resultar
en 20 requests reales. De manera que el navegador solo va a entender
que le envies una sola imagen por request, y cuando te la pida. Una
peticion para la imagen tal, un response con la imagen tal.
Por RJS puedes “colocar” varias imagenes simultaneamente en la
pagina. Pero solo aparentemente, lo hagas como lo hagas vas a
disparar una request por imagen, y vas a servir una imagen por request.
Buenas. Ante todo, gracias por las respuestas. Al tema: Llevo un par de
dÃas
con lo de send file, y me surge una duda… ¿Hay alguna forma de mandar
varias imágenes al html que se genera?
Ahora sólo se me ocurre como mandar una. ¿Alguna sugerencia?
Eso generara (depende de rutas y tal, pero para pillar la idea):
<img src="/reports/image?graph=foo" … />
y el navegador hara una peticion GET a
/reports/image?graph=foo
tan ricamente esperando una imagen de vuelta. El no sabe si eso lo
sirve codigo Ruby o viene del disco servido por Apache, el recibe un
response con un content-type y un body, de generar ese response asi
se encarga send_file().
– fxn
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.