🎉 Acceso anticipado Black Friday: Hasta un 80% de descuento en nuestros cursos

6d: 12h: 48m:34s'
Mario Duque
Mario Duque
Laravel
Comparte:

Descargar archivos no funciona bien

Hola, 
Hice un pequeño sitio reutilizando el sitio auth de Laravel y le adapté unas páginas. La página principal muestra en forma de links los archivos que tenga ese usuario en su repositorio. El usuario puede dar clic en cualquiera de ellos y estos comienzan a bajar a su computador. El problema es que al subirlo a un servidor compartido, al intentar bajar el archivo, este no baja. Si no mas bien, se muestra en la pantalla con un formato muy extraño.
La rutina de bajar archivos es la siguiente:
    public function downloadFile($file, $DirUser){
      $pathtoFile = public_path().'/../storage/vendedores/';
      $pathtoFile = $pathtoFile.$DirUser;
      $pathtoFile = $pathtoFile.'/'.$file;
       return response()->download($pathtoFile);
    }

Esta función recibe el nombre del archivo a imprimir y el nombre de la carpeta que lo contiene (del usuario). Luego le suma la ruta hacia el storage y lo descarga. Esto último no lo hace... no lo descarga... en vez de eso muestra algo como lo siguiente en la pantalla: 
PK!A7��n[Content_Types].xml �(��T�n�0�W�?D�V������[$��x�X$��(�}'fQU��%Ql�[&�<��&YB@�l.�YO$` ���r�=�H�E���V����5� ��ӵL��b.j"�"%5� 3���N�B��?C%�*����=��YK)ub8x�R-J�W��Q23V$��sU.���)�P���I����]�h:C@i��m2 3� �1� g�/#ݺʸ2 ��x|`�G��㮶u_�;�ѐ�U�Oղw�j� �s��4ȥ��-�Ze�N� �xe|�o,����� �1��y��s�i�޺��s�� ��V7�����88����wa��:� � �Crh������ݝ�A������PK!�U0#�L _rels/.rels �(���MO�0 ��H�����ݐBKwAH�!T~�I����$ݿ'T�G�~
Espero puedan ayudarme.
De antemano, muchas gracias.
Saludos!!
Jorge Davila
Jorge Davila (838 xp)
Dudo que el error sea por eso pero,intenta remplazando  esto:
public_path().'/../storage/vendedores/';
por esto:

storage_path().'/vendedores/';
Mario Duque
Mario Duque (340 xp)
Jorge, 

Gracias por enviar una respuesta... Te comento que yo tenia una línea demás antes del download. Era una línea que me mostraba la ruta y el archivo que estaba bajando. La eliminé y funciona perfectamente. He realizado pruebas cambiando la línea que me diste y también funciona bien.

Muchas gracias por tu ayuda e interés en mi caso.

Saludos!!
1