Сохранить файл в базу данных


Мне нужно сохранить загруженный файл в базу данных предпочтительно в таблице core_file_storage в виде большого двоичного объекта и получить его позже. Я хочу, чтобы это было связано с клиентом. В настоящее время файлы сохраняются в файловой системе, и это необходимо прекратить.

Решено: Я использовал модель mage/core/file/Model/storage/database.php методы записи в таблицу core_file_storage

Author: Teja Bhagavan Kollepara, 2014-10-28

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;
 1
Author: Kalpesh, 2014-10-28 22:53:43