使用codeigniter将图像从rest客户端(android)上传到数据库

时间:2015-03-21 13:02:38

标签: codeigniter api

我想将我的Android应用程序中的图像配置文件和用户ID上传到数据库。我尝试了这种方法,它在本地工作,但当我用(POSTMAN)测试它休息客户端它不起作用。我想是因为我称之为观点。 这是我的代码请帮帮我。

我的控制器

class Users extends REST_Controller {
function __construct()
{        parent::__construct();
      $this->load->model('Users_model','',TRUE);}public function index_get()
{
    $this->load->view('users');
}
public function save_image_post()
{
    $id = $_POST["id"];
    $url = $this->do_upload();
    $this->Users_model->save_image($id, $url);
            //$this->Users_model->save_image($url);

}
private function do_upload()
{
    $type = explode('.', $_FILES["pic"]["name"]);
    $type = strtolower($type[count($type)-1]);
    $url = "./images/".uniqid(rand()).'.'.$type;
    if(in_array($type, array("jpg", "jpeg", "gif", "png")))
        if(is_uploaded_file($_FILES["pic"]["tmp_name"]))
            if(move_uploaded_file($_FILES["pic"]["tmp_name"],$url))
                return $url;
    return "";
}
}

这是我的模特:

  public function save_image($id,$url)
{
    $this->db->set('id', $id);
    $this->db->set('image_user', $url);
    $this->db->insert('users');
}

这是我的观点:

<!DOCTYPE html><html lang="en"><head></head><body>
<?php echo form_open_multipart('api/users/save_image/'); ?>
<table class="table">
    <tr>
        <td>Id</td>
        <td><?php echo form_input('id'); ?></td>  
    </tr>
    <tr>
        <td>Image</td>
        <td><?php echo form_upload('pic'); ?></td>
    </tr>
    <tr><td></td>
        <td><?php echo form_submit('submit', 'Save', 'class="btn btn-primary"'); ?></td>
    </tr>       
</table></body></html>

0 个答案:

没有答案