Сохранить файл в базу данных
Мне нужно сохранить загруженный файл в базу данных предпочтительно в таблице core_file_storage в виде большого двоичного объекта и получить его позже. Я хочу, чтобы это было связано с клиентом. В настоящее время файлы сохраняются в файловой системе, и это необходимо прекратить.
Решено: Я использовал модель mage/core/file/Model/storage/database.php методы записи в таблицу core_file_storage
1 answers
Не уверен, почему вы прекращаете хранить файлы в файловой системе, хранение в БД не рекомендуется, так как ваша БД быстро станет огромной.
Что такое схема таблицы? Вы можете сохранять файлы больших двоичных объектов, получая содержимое файла с помощью функции file_get_contents
PHP.
Попробуйте сделать что-то подобное, заменив приведенные ниже ваши реальные данные:
Mage::getModel('core/file_storage')
->setCustomerId($custId)
->setYourFile(file_get_contents('/path/to/file.ext'))
->save();
И затем выборка:
Mage::getModel('core/file_storage')->load($custId);
$blobFile = $cust->getYourFile();
//И отображать в интерфейсе... если изображение:
header("Content-type: image/jpg"); //Send the content Type here.
echo $blobFile;