我想创建一个codeigniter控制器,它可以检索“POST”base64图像,对其进行解码,然后将其保存到本地文件夹中,然后将该路径保存到我的MySQL中。
我在这一点上陷入困境。
你能不能给我一些这方面的参考资料?
答案 0 :(得分:0)
以下代码段是CodeIgniter官方用户文档中的copy = paste。
<?php
class Upload extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
public function index()
{
$this->load->view('upload_form', array('error' => ' ' ));
}
public function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('userfile'))
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}
}
?>
CodeIgniter确实有developers.google.com/drive/android/auth非常好的文档,我建议你快速浏览一下。
您必须仔细检查的一部分或修改如下:
$config['file_name'] = 'a_'.md5(microtime()).'.jpg';
告诉codeigniter将文件保存在所需的任何本地路径中,然后从这里将数据保存到数据库中,如下所示:
$result = $this->db->query('INSERT INTO AVATARS VALUES (NULL, 'user1', '" . $config['file_name'] . "') ');
请注意,这只是伪代码,并未在任何生产环境中进行过测试;但是,应该完美地工作。
祝你好运答案 1 :(得分:0)
$base
应该有base64编码的图像字符串:
$base = $_POST["profile_image"];
$filename = $_POST["file_name"];
$filename = $_POST["user_id"];
$binary = base64_decode($base);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen('./Images/'.$filename, 'wb');
fwrite($file, $binary);
fclose($file);