不可预测的行为JavaScript

时间:2019-01-21 09:20:11

标签: javascript php mysql laravel html5-canvas

我有一个使用画布修改图片的视图。使用 Ajax ,当用户按下按钮

时,我调用控制器以将有关图片的信息插入数据库中
var img = new Image();
img.src = "imagenes/uploadLookTemporal/<?php echo $url_foto_temporal;  ?>";
var path = "imagenes/uploadLookTemporal/<?php echo $url_foto_temporal;  ?>";

    window.location.replace("annadir_prenda");

    $.ajax({

        type: "post",
        url: "{{ url('/postajax') }}",
        contentType: 'multipart/form-data',
        processData: false,
        data: formData,
        cache: false,
        //success:  function (response) {
          //  alert(response);
          //  console.log(dataURL);
        //},


    });

//控制器

public function post(Request $request){


    // Identificamos al usuario

    $user= Auth::user();
    $userfind = User::find($user->id);

    $aleatorio = rand();
    $fototemporal = new Tablatemporal();
    $fototemporal->user = $userfind->id;
    $fototemporal->url_foto = $userfind->id.'_temporal'.'_'.$aleatorio.'.'.'png';
    $fototemporal->save();


    $file = $request;

    $fotobase64 = explode ('data:image/png;base64,',$file);
    $foto = base64_decode($fotobase64[1]);



    // Alamcenamos la foto temporal y guardamos su dirección en la base de datos temporal

    //file_put_contents('imagenes/uploadLookTemporal/'.'temporal_'.$userfind->id.'_temporal.png', $foto);

    file_put_contents('imagenes/uploadLookTemporal/'.$userfind->id.'_temporal'.'_'.$aleatorio.'.'.'png', $foto);

问题是有时控​​制器不起作用,并且程序继续运行而没有插入数据库或在文件系统中推送图片。这种行为仅在某些时候发生,我可以从中找到逻辑。

1 个答案:

答案 0 :(得分:0)

您应该检查数据库操作结果。例如,$fototemporal->save();返回一个布尔值。同样,file_put_contents返回在文件系统上写入的字节,如果失败则返回FALSE。

有了这些,您就可以更好地控制代码和操作。