我已经尝试了几次但是我没有找到解决方案,我需要在数据库中显示一个保存为BLOB的图像。
保存到数据库并显示数据的部分代码
function manage_report($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('doctor_login') != 1)
redirect(base_url() . 'index.php?login', 'refresh');
if ($param1 == 'create') {
$data['img_principal'] = $this->input->post('img_principal');
$this->db->insert('report', $data);
$this->session->set_flashdata('flash_message', get_phrase('report_created'));
redirect(base_url() . 'index.php?doctor/manage_report', 'refresh');
}
if ($param1 == 'edit' && $param2 == 'do_update') {
$data['img_principal'] = $this->input->post('img_principal');
$this->db->where('report_id', $param3);
$this->db->update('report', $data);
$this->session->set_flashdata('flash_message', get_phrase('account_updated'));
redirect(base_url() . 'index.php?doctor/manage_report', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_profile'] = $this->db->get_where('report', array(
'report_id' => $param2
))->result_array();
}
$page_data['page_name'] = 'manage_report';
$page_data['page_title'] = get_phrase('manage_report');
$page_data['reports'] = $this->db->get('report')->result_array();
$this->load->view('index', $page_data);
}
我正试图在.html页面上显示
<img src="<?php echo $row['img_principal']; ?>"/>
数据库
CREATE TABLE `report` ( `report_id` int(11) NOT NULL, `img_principal` blo NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
答案 0 :(得分:0)
您需要一个可以为这些blob提供服务的脚本,例如将其称为img.php
。需要传递某种ID,以便它也可以在数据库中找到该行。
可以用HTML调用脚本:
<img src="/img.php?image_id=1" alt="Database image no. 1">
此脚本应该:
(int) $_GET['image_id']
输入Content-Type: image/jpeg
标题(或相应的)Content-Length
标题(blob的strlen)Content-Disposition: inline
标题答案 1 :(得分:0)
试试这个:
echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['img_principal'];).'"/>';