datsa Posted February 14, 2018 Share Posted February 14, 2018 (edited) 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 February 26, 2018 by datsa (see edit history) Link to comment Share on other sites More sharing options...
datsa Posted February 19, 2018 Author Share Posted February 19, 2018 nadie ha tenido este problema antes??? Link to comment Share on other sites More sharing options...
nadie Posted February 20, 2018 Share Posted February 20, 2018 (edited) 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 February 20, 2018 by nadie (see edit history) 1 Link to comment Share on other sites More sharing options...
datsa Posted February 26, 2018 Author Share Posted February 26, 2018 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. 1 Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted February 26, 2018 Share Posted February 26, 2018 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. 1 Link to comment Share on other sites More sharing options...
datsa Posted February 27, 2018 Author Share Posted February 27, 2018 (edited) 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 February 27, 2018 by datsa (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts