en Jump to content
  • 0
Sign in to follow this  
datsa

[SOLUCIONADO]Problemas con los archivos adjuntos

Question

Buenas a todos, 

 

Tengo una serie de ficheros adjuntos a cada producto de mi tienda. Estos ficheros son PDF con información sobre el producto. El caso es que hoy me he dado cuenta que estos archivos han dejado de estar accesibles. cuando intento acceder me da un error y me indica que vuelva a cargarlos.

 

Cuando los descargo via FTP compruebo que tampoco puedo visualizar el fichero.

 

Es como si estuviera corrupto. pero me pasa con todos los adjuntos.

 

a alguien le ha pasado alguna vez???

agradezco cualquier ayuda!! 

Edited by datsa

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Buenas,

 

Finalmente he modificado el archivo : "/html/controllers/front/AttachmentController.php".

 

El original era:

 

<?php

class AttachmentControllerCore extends FrontController
{
    public function postProcess()
    {
        $a = new Attachment(Tools::getValue('id_attachment'), $this->context->language->id);
        if (!$a->id) {
            Tools::redirect('index.php');
        }

        Hook::exec('actionDownloadAttachment', array('attachment' => &$a));

        if (ob_get_level() && ob_get_length() > 0) {
            ob_end_clean();
        }

        header('Content-Transfer-Encoding: binary');
        header('Content-Type: '.$a->mime);
        header('Content-Length: '.filesize(_PS_DOWNLOAD_DIR_.$a->file));
        header('Content-Disposition: inline; filename="'.utf8_decode($a->file_name).'"');
        @set_time_limit(0);
        readfile(_PS_DOWNLOAD_DIR_.$a->file);
        exit;
    }
}

 

 

 

 

 

Quedando finalmente así:

 

<?php

class AttachmentControllerCore extends FrontController
{
    public function __construct()
    {
        $a = new Attachment(Tools::getValue('id_attachment'), $this->context->language->id);
        if (!$a->id) {
            Tools::redirect('index.php');
        }

        Hook::exec('actionDownloadAttachment', array('attachment' => &$a));

        if (ob_get_level() && ob_get_length() > 0) {
            ob_end_clean();
        }

        header('Content-Transfer-Encoding: binary');
        header('Content-Type: '.$a->mime);
        header('Content-Length: '.filesize(_PS_DOWNLOAD_DIR_.$a->file));
        header('Content-Disposition: inline; filename="'.utf8_decode($a->file_name).'"');
        @set_time_limit(0);
        readfile(_PS_DOWNLOAD_DIR_.$a->file);
        exit;
    }
}

 

No me he cargado la funcion postProcess, simplemente desde el AtachmentController.php en vez de llamarla a ella llamo al constructor.

No sé si he metido la pata con esta modificación y no lo se...

Cualquier otra cosa que necesitéis me lo indicáis.

Saludos.

Edited by datsa

Share this post


Link to post
Share on other sites
  • 0
En 14/2/2018 a las 7:22 PM, datsa dijo:

Buenas a todos, 

 

Tengo una serie de ficheros adjuntos a cada producto de mi tienda. Estos ficheros son PDF con información sobre el producto. El caso es que hoy me he dado cuenta que estos archivos han dejado de estar accesibles. cuando intento acceder me da un error y me indica que vuelva a cargarlos.

 

Cuando los descargo via FTP compruebo que tampoco puedo visualizar el fichero.

 

Es como si estuviera corrupto. pero me pasa con todos los adjuntos.

 

a alguien le ha pasado alguna vez???

agradezco cualquier ayuda!! 

 

¿Vienes de una migración?

En caso afirmativo, revisa lo que se comenta aquí: https://digitaldisseny.com/es/blog/207-prestashop-product-attachments-corrupted respecto a los ficheros adjuntos corruptos

Saludos,

Edited by nadie

Share this post


Link to post
Share on other sites
  • 0

Buenas, a todos,

En mi caso no venía de una migración, no obstante muchas gracias por la ayuda.

 

Marco el tema como SOLUCIONADO, ya que he podido solucionar este tema modificando el AttachmentController.php. 

 

simplemente he cambiado la función postProcess () a __construct() 

 

Si alguien se encuentra el mismo problema, por favor que contacte conmigo para ver si puedo echarle una mano.

 

Saludos.

Share this post


Link to post
Share on other sites
  • 0
32 minutes ago, datsa said:

Buenas, a todos,

En mi caso no venía de una migración, no obstante muchas gracias por la ayuda.

 

Marco el tema como SOLUCIONADO, ya que he podido solucionar este tema modificando el AttachmentController.php. 

 

simplemente he cambiado la función postProcess () a __construct() 

 

Si alguien se encuentra el mismo problema, por favor que contacte conmigo para ver si puedo echarle una mano.

 

Saludos.

 

Me cuelo por aquí:

Aunque "teóricamente" dices que esta solucionado, No deberías cambiar la función.

Una cosa es la función y otra cosa es el constructor ¿Te has cargado la función: postProcess()? ¿O que has  realizado al final?

Comenta exactamente lo que has hecho, para que le sirvan a los usuarios que tengan la misma problemática que tu y puedan ver los pasos que has realizado.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More