繁体   English   中英

如何在codeigniter上传base64图片

[英]How to upload base64 image on codeigniter

我正在使用 php,我在 api 中得到 Base64 图像,我想保存/存储到数据库中并想将图像上传到服务器中,我该怎么做? 我尝试使用以下代码但出现以下错误“无法打开内容,Http 作者不支持可写连接”

function imageupload()
{
     $data = json_decode(file_get_contents("php://input"), TRUE);
     $files=file_get_contents($_FILES["file"]["tmp_name"]); 
     $image = base64_decode($files);
     $image_name = md5(uniqid(rand(), true));
     $filename = $image_name . '.' . 'png';
     $path = base_url().'upload/blog/';
     file_put_contents($path . $filename, $image);
}

从路径中删除base_url()

要么

看一下这个

jQuery:

$(document).on('click', '#upload', function () {
    let form_data = new FormData();
    let data_url = document.getElementById('my_image').toDataURL('image/png');
    data_url = data_url.replace(/^data:image\/(png|jpg|jpeg);base64,/, '');
    form_data.append('uploaded_image', data_url);
    $.ajax({
        url: 'upload-avatar',
        method: 'post',
        data: form_data,
        dataType: 'json',
        contentType: false,
        async: true,
        processData: false,
        cache: false
    });
});

PHP:

$img = $this->request->getPost('uploaded_image'); // for ci4
$img = $this->input->post('uploaded_image'); // for ci3
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace('data:image/jpeg;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$file_data = base64_decode($img);
file_put_contents(/* my_path and my_file_name */, $file_data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM