Привет всем, я написал код для захвата изображения тега div при нажатии на кнопку, и код JavaScript захватит это изображение, но я хочу сохранить это захваченное изображение, используя codeigniter, но мы не можем использовать метод загрузки codeigniter по умолчанию, потому что только загрузкаработать с файлом входного типа, который создает один объект, но здесь я получаю захваченное изображение с помощью javascript, поэтому я хочу загрузить это изображение в папку, поэтому, пожалуйста, скажите мне, как это сделать, используя codeigniter.below я упомянул мой код.
Html code....
<div id="target" style="border: 1px solid #CCC;padding: 5px;margin: 5px;">
<div>
<p>PHP is a server-side scripting language designed primarily for web development.</p>
</div>
</div>
<form method="POST" enctype="multipart/form-data" id="form1">
<input type="hidden" name="img_value" id="img_value" value="" />
</form>
<input type="submit" value="Screenshot" onclick="capture();" />
javascript код для захваченного изображения и вызов ajax для сохранения изображения
<script type="text/javascript">
function capture() {
$('#target').html2canvas({
onrendered: function (canvas) {
//Set hidden field's value to image data
$('#img_value').val(canvas.toDataURL("image/png"));
//Submit the form1
var hid_img=$("#img_value").val();
$.ajax({
url: "<?= base_url('controller/save_img') ?>",
type: "POST",
data: {
hid_img: hid_img,
},
success: function (response) {
$(".show_img").html(response);
}
});
}
});
}
</script>
код в методе контроллера codeigniter для сохранения изображения в папке ...
public function save_img() {
$data = $this->input->post($hid_img);
$file = md5(uniqid()) . '.png';
// remove "data:image/png;base64,"
$uri = substr($data,strpos($data,",")+1);
// save to file in uploads folder of codeigniter
file_put_contents('./uploads'.$file, base64_decode($uri));
}
to store image in table
$res=$this->db->insert('demo',array('img'=>base_url('uploads/').$file));
$detail = $this->db->select('*')->from('demo')->where('id', $this->db->insert_id())->get()->row();
echo '<img src="'.base_url('uploads/').$detail->message.'" style="width:500px;"/>';