Как вставить изображение подписи в базу данных mysql в php и получить изображение подписи - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь вставить данные изображения подписи в базу данных и не удалось. Я только что узнал, как передать изображение подписи в папку в p c, и я вижу, что у каждого изображения есть разные name.png в папке, и я думаю, что name.png можно сохранить в база данных. Я не знаю, как заставить его успешно сохранить в базе данных.

Это мой код панели подписи, который я делаю в модальном виде:

  <div class="row mb-4">
  <a href="#" class="btn btn-lg btn-success" data-toggle="modal" data-target="#basicModal">Client 
   Signature</a>
  </div>
  </div>

  <div class="modal fade" id="basicModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" 
   aria-hidden="true">
   <div class="modal-dialog">
   <div class="modal-content">
   <div class="modal-header">
    <h4 class="modal-title" id="myModalLabel">Client Signature</h4>
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
    </div>
    <div class="modal-body">
    <div id="signArea" >

    <h2 class="tag-ingo" style="font-size:30px;color:blue">Put signature below,</h2>

    <div class="typed" ></div>
   <p align="center">  
   <canvas class="sign-pad" id="sign-pad" width="300" height="100"></canvas></p>
   </div>

  </div>
  <div class="modal-footer">
  <button input="reset"  class="btn btn-secondary" >Reset</button>
  <button id="btnSaveSign" type="submit" name="submit" class="btn btn-primary">Submit</button>

Это код, который я сохраняю мое изображение подписи в папке:

     <script>
        jQuery(document).ready(function() {
            Main.init();
            FormElements.init();
        });

        $(document).ready(function() {
            $('#signArea').signaturePad({drawOnly:true, drawBezierCurves:true, lineTop:90});
        });

        $("#btnSaveSign").click(function(e){
            html2canvas([document.getElementById('sign-pad')], {
                onrendered: function (canvas) {
                    var canvas_img_data = canvas.toDataURL('image/png');
                    var img_data = canvas_img_data.replace(/^data:image\/(png|jpg);base64,/, "");
                    //ajax call to save image inside folder
                    $.ajax({
                        url: 'save_sign.php',
                        data: { img_data:img_data },
                        type: 'post',
                        dataType: 'json',
                        success: function (response) {
                           window.location.reload();
                        }
                    });
                }
            });
        });
      </script> 

Это знак сохранения. php код:

<?php 

$result = array();
$imagedata = base64_decode($_POST['img_data']);
$filename = md5(date("dmYhisA"));
//Location to where you want to created sign image
$file_name = './doc_signs/'.$filename.'.png';
file_put_contents($file_name,$imagedata);
$result['status'] = 1;
$result['file_name'] = $file_name;
echo json_encode($result);
?>

И это код, где я получаю изображение в папке :

<img src="<?php echo $image; ?>" class="sign-preview" />

Имя базы данных - «назначение», а данные изображения должны быть в «imagename»

...