Pregunta

Necesito guardar un archivo cargado en la base de datos, preferiblemente en la tabla core_file_storage como un blob y recuperarlo más tarde.Quiero que esto esté conectado a un cliente.Actualmente, los archivos se están guardando en el sistema de archivos y esto debe suspenderse.

Resuelto:Utilicé los métodos del modelo mage/core/file/Model/storage/database.php para escribir en la tabla core_file_storage

¿Fue útil?

Solución

No estoy seguro de por qué está dejando de almacenar archivos en el sistema de archivos; no se recomienda almacenarlos en una base de datos, ya que su base de datos crecerá enormemente rápidamente.

¿Qué es el esquema de la tabla?Puede guardar archivos blob obteniendo el contenido del archivo usando file_get_contents Función PHP.

Pruebe algo como esto, después de reemplazar lo siguiente con sus datos reales:

Mage::getModel('core/file_storage')
->setCustomerId($custId)
->setYourFile(file_get_contents('/path/to/file.ext'))
->save();

Y luego recuperando:

Mage::getModel('core/file_storage')->load($custId);
$blobFile = $cust->getYourFile();

//Y para mostrar en el frontend...si una imagen:

header("Content-type: image/jpg"); //Send the content Type here.
echo $blobFile;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top