我有一个使用画布修改图片的视图。使用 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);
问题是有时控制器不起作用,并且程序继续运行而没有插入数据库或在文件系统中推送图片。这种行为仅在某些时候发生,我可以从中找到逻辑。
答案 0 :(得分:0)
您应该检查数据库操作结果。例如,$fototemporal->save();
返回一个布尔值。同样,file_put_contents
返回在文件系统上写入的字节,如果失败则返回FALSE。
有了这些,您就可以更好地控制代码和操作。