скачать файл Blob в cakephp

0

Я использую этот запрос, чтобы получить изображение, сохраненное в средстве blob в mysql, которое вызывает функцию загрузки в контроллере брендов.

SELECT *,CONCAT(\"<img src='../../brands/download/?file_id=\",id,
                        \"&name=\",logo_name,\"'/>\") AS file
                         FROM c_brands WHERE merchant_id=" .$merchant_session;

ФУНКЦИЯ НАГРУЗКИ DOWN

function download()
    {
        //$this->view = 'Media';
        Configure::write('debug', 1);
        $id = $_GET["file_id"];
        $file = $this->Brand->findById($id);        

        header('Content-type: ' . $file['Brand']['logo_type']);
        header('Content-length: ' . $file['Brand']['logo_size']);
        header('Content-Disposition: inline; filename='.$file['Brand']['logo_name']);
        echo $file['Brand']['logo'];
        exit();
    }

Но каким-то образом он просто отображает местозаполнитель для изображения.

Теги:
http-headers
cakephp
blob

1 ответ

1

Можете ли вы объяснить больше? Я имею в виду, какова связь между первым запросом (с Concat) и действием download(), и как вы используете этот запрос? Кроме того, я замечаю, что вы помещаете <img src='../../brands/download/?file_id=\", и этот относительный путь неверен. Это должно быть src="/brands/download".

Тем не менее, ваш вопрос непонятен.

  • 0
    оператор concate запроса вызывает функцию загрузки в контроллере торговых марок. и я показываю изображение, хранящееся в базе данных для сетки данных из этого запроса. и я попытался перейти с ../../brands/download на / brands / download, но это не имеет никакого эффекта.
  • 0
    Я все еще думаю, что подход, который вы используете, очень странный. Зачем вызывать действие контроллера из SQL-запроса или строить в нем html? Вот статья о выводе файлов из блобов базы данных . Это меньшее, что я могу сделать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню