将图像编码到base64无法正常工作

时间:2018-06-07 12:08:01

标签: php mysql codeigniter

if ( ! $this->upload->do_upload('course_profile_image'))
        {

            error($this->upload->display_errors(),TRUE,400);
        }else{
            $data = array('upload_data' => $this->upload->data());
            $filename=$data['upload_data']['file_name'];
            $pathinfo = 'dist/img/courseimage/'.$filename;
            $filetype = pathinfo($pathinfo, PATHINFO_EXTENSION);
            $filecontent = file_get_contents($pathinfo);

            try{
                $base64=rtrim(base64_encode($filecontent)); 

            }catch(Exception $e){
                error($e,TRUE,855);


            }
            $image = 'data: '.mime_content_type($pathinfo).';base64,'.$base64;  

它正在将图像转换为base64但是当上传大尺寸图像时,它只会占用一半或部分图像。我将这个base64存储到mysql数据库列类型文本中。

1 个答案:

答案 0 :(得分:0)

  

将数据库字段类型从文本更改为 mediumText   因为TEXT只有64 KiB长度所以它不会存储你的完整基数64   代码。