Сохранить холст с помощью Codeigniter

Я создал HTML5 Canvas Drawing App, используя этот серия видеоуроков. Теперь я хочу сохранить его как изображение в базе данных с помощью codeigniter. Также я хочу разрешить пользователю вводить имя для этого изображения перед сохранением его в базе данных. Я новичок в codeigniter. Может кто-нибудь помочь мне с этим. Вот что я сделал до сих пор

HTML-код
…………………..

<div class="col-lg-3">
<div id="toolbar">
<div id="rad">
Radius <span id="radval">10</span>
<div id="decrad" class="radcontrol">-</div>
<div id="incrad" class="radcontrol">+</div>
<div id="colors"></div>
<div id="save">Save</div>
</div>
</div>
<canvas id="canvas"></canvas>
</div>

код JavaScript для сохранения
……………………………….

var saveButton=document.getElementById('save');
saveButton.addEventListener('click',saveImage);
function saveImage(){
var data=canvas.toDataURL();
var request=new XMLHttpRequest();

request.onreadystatechange=function(){
if(request.readyState==4&& request.status==200){
var response= request.responseText;
console.log(response);
}
}

request.open('POST','http://localhost/cafdc/MainController/save',true);
request.setRequestHeader('Content-type','application/x-www-form-urlencoded');
request.send('img='+data);
}

1

Решение

CodeIgniter имеет некоторую встроенную библиотеку для манипуляции изображениями, такие как обрезка, изменение размера и т. Д. Вы сохраняете изображение по имени или его путь в базе данных, а изображение не должно быть сохранено в базе данных, оно не является предпочтительным и является плохой практикой.

Чтобы работать в CI, вы должны создать такой контроллер

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

ini_set("display_errors",1);



class Image_upload extends CI_Controller {

function __construct()
{
// Call the Model constructor
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->model('your_model');



}


public  function index() {

$this->load->view('header');
$this->load->view('your_view');

}// index function ends

function doupload() {

//set preferences
$config['remove_spaces']=TRUE;
$config['encrypt_name'] = TRUE; // for encrypting the name
$config['upload_path'] = LARGEPATH;
$config['allowed_types'] = 'jpg|png|gif';
$config['max_size']    = '78000';

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

//$this->upload->do_upload('filename') will upload selected file to destiny folder
if (!$this->upload->do_upload('filename'))
{
// case - failure
$upload_error = array('error' => $this->upload->display_errors());
$this->load->view('some_view', $upload_error);
}
else
{
// case - success
}

// модель

    class Your_Model extends CI_Model {

//table name
private $file = 'files';   // files

function save_files_info($files) {
//start db traction
}

А над вашим кодом будет вид, который загружен в контроллер
Далее могу дать вам ссылку

http://www.tutsmore.com/tutorials/codeigniter-image-upload-with-mysql/ начать отсюда

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]