Jump to content

[SOLUCIONADO]Problemas con los archivos adjuntos


Recommended Posts

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 (see edit history)
Link to comment
Share on other sites

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 (see edit history)
  • Like 1
Link to comment
Share on other sites

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.

  • Haha 1
Link to comment
Share on other sites

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.

  • Thanks 1
Link to comment
Share on other sites

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 (see edit history)
Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...