如何使用codeigniter使用blob?

时间:2014-09-22 01:31:47

标签: codeigniter blob

我目前正在使用codeigniter创建一个程序,我希望将图像上传并将其保存为blob到数据库。问题是当我尝试上传图片时,我收到了此错误

The path to the image is not correct.

Your server does not support the GD function required to process this type of image.

这是我在控制器中的代码:

public function do_upload() {
    if($this->session->userdata('logged_in')) {
        //print_r($_FILES);            
        $config = array(
            'upload_path'   => './public/img/uploads',
            'upload_url'    => base_url().'public/img/uploads',
            'allowed_types' => 'gif|jpg|png|jpeg',
            //'overwrite'     => TRUE,
            'max_size'      => '1000KB',
            'max_width'     => '1024',
            'max_height'    => '768',
            //'encrypt_name'  => true,
        );

        $this->load->library('upload', $config);

        //for($i=0; $i<count($_FILES['userfile']['name']); $i++) {
        if (!$this->upload->do_upload()) {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('v_page/header_view');
            $this->load->view('v_document/upload_error', $error);
            $data['folderName'] = $this->dropdown->get_folder_details();
            $data['departmentName'] = $this->dropdown->get_department_details();
            $this->load->view('v_document/upload_view', $data);
            $this->load->view('v_page/footer_view');
        } 
        else {
            $upload_data = $this->upload->data();
            $this->_createThumbnail($upload_data['file_name']);
            $data['thumbnail_name'] = $upload_data['raw_name']. '_thumb' .$upload_data['file_ext'];
            $file_array = array(
                'image'         => "",
                'image_name'    => $upload_data['file_name'],
                //'description'   => "",
                'date_created'  => date('Y-m-d H:i:s', now()),
                'date_modified' => date('Y-m-d H:i:s', now()),
                'size'          => $upload_data['file_size'],
                'type'          => $upload_data['image_type'],
                'width'         => $upload_data['image_width'],
                'height'        => $upload_data['image_height'],
            );
            $this->load->database();
            $this->db->insert('tbl_image', $file_array);
            $data = array('upload_data' => $this->upload->data());
            $this->load->view('v_document/upload_success', $data);
        }     
        //}
    }
    else {
        redirect('login', 'refresh');
    }
}

public function _createThumbnail($filename) {
    $config['image_library']    = "gd2";      
    $config['source_image']     = "uploads/" .$filename;      
    $config['create_thumb']     = TRUE;      
    $config['maintain_ratio']   = TRUE;      
    $config['width'] = "80";      
    $config['height'] = "80";
    $this->load->library('image_lib',$config);
    if(!$this->image_lib->resize()) {
        echo $this->image_lib->display_errors();
    }
}  

图像上传成功但blob无法正常工作。

1 个答案:

答案 0 :(得分:-1)

尝试以下建议:

更改自:

$config['source_image'] = "uploads/" .$filename;


$config['source_image'] = "./uploads/" .$filename;