Hola!! Con que función puedo obtener la URL de un archivo que está en la ruta: /srv/www/vhosts/guarani_280/instalacion/temp/des01/MiArchivo.txt ?
Saludos!
Flavia
Hola!! Con que función puedo obtener la URL de un archivo que está en la ruta: /srv/www/vhosts/guarani_280/instalacion/temp/des01/MiArchivo.txt ?
Saludos!
Flavia
Hola Flavia, esta función
kernel::proyecto()->get_dir_temp()
te devolvería esta parte /srv/www/vhosts/guarani_280/instalacion/temp/des01, después le tendrías que concatenar el nombre del archivo.
Nota: asegúrate de hacer un use del kernel,
use kernel\kernel;
saludos, Leonel.
Claro eso hacía, pero necesito poner eso en un link para bajar ese archivo.
$url_log = kernel::proyecto()->get_dir_temp() .'/' . $log ;
$tag = '<a href="' . $url_log . '" target=_blank> Bajar Informe</a>';
Saludos!
Hola Flavia, seria algo así:
en el controlador agregas algo así:
function accion__descargar()
{
$path = kernel::proyecto()->get_dir_temp()."/pdf/Calendario_Academico_2014.pdf";
$this->descargar_archivo($path);
}
Nota: el usuario de apache debe tener permisos de lectura sobre la carpeta que contiene el archivo, en este caso pdf
chown usuario:www-data instalacion/temp/des01/pdf/ -R
chmod 0775 instalacion/temp/des01/pdf/ -R
luego en el pagelet creamos la URL hacia la acción, seria algo así:
function prepare() {
...
...
$this->data['url_descargar'] = kernel::vinculador()->crear($operacion, 'descargar');
}
luego en el twig agregamos el link:
<a href="{{ this.data.url_descargar }}" class="descargar no-ajax">Descargar PDF</a>
cualquier cosa que no se entienda pregúntame.
saludos.
Leonel, necesito que el error salga en un mensaje de ajax.
Subí todo a colab, si podes fijate en la línea 322 del controlador, ahí debería aparecer.
Saludos!
Flavia
Hola Flavia, de que operación estamos hablando? a que te referís con mensaje AJAX?, esto que te nombre no es AJAX, es una petición común.
saludos.
Hola!
Claro, por eso te preguntaba para hacerlo en ajax.
La operación es: https://colab.siu.edu.ar/svn/guarani2/nodos/uncor/3w/trunk/2.8.3/src/pers/cordoba/operaciones/notas_parciales/
Saludos,
Flavia
Gracias Leonel, ya quedó funcionando perfectamente la operación siguiendo tus instrucciones.
El descargar en el controlador quedó:
function accion__descargar() {
$this->load_params();
$path = kernel::proyecto()->get_dir_temp()."/" . $this->evaluacion_id . ".doc" ;
$this->descargar_archivo($path);
}
y luego las líneas para descargar el informe:
$url_inf = '<a href="'.kernel::vinculador()->crear('notas_parciales', 'descargar', $this->evaluacion_id).'" class="descargar no-ajax">Descargar Informe</a>';
kernel::renderer()->add_to_ajax_response('error', false);
kernel::renderer()->add_to_ajax_response('mensaje', $url_inf);
Gracias nuevamente!!
Saludos,
Flavia