我在我的项目中使用 laravel 5.4 我在源文件中显示了我的图像 在 laravel Blade 中它可以正确显示图像..
<div id="dis_img">
@foreach($detail_dir_imgs as $detail_dir_img)
<img src="{{ asset($detail_dir_img) }}" height="230" width="200" id="pro_img">
<span class="del_proimg">X</span>
@endforeach
</div>
现在我在 del_proimg click 函数中获得了图像 src 属性,这意味着我想在单击此 id 时删除图像,并且我的 click 函数中的代码是
$('.del_proimg').click(function(){
var img= $('#pro_img').attr("src");
alert(img);
$.ajax({
type: "GET",
url: '/deleteimg',
data: {'img':img},
success: function(data){
console.log("ajaxdata",data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(JSON.stringify(jqXHR));
console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
}
});
});
当单击 id 时,它会获取图像路径并将数据传递给 Controller ,一切正常,但在我的 Controller 中,当我尝试删除图像路径时,它不会删除图像,并且我的 Controller 代码是
public function deleteimg(Request $request){
$img =$request->img;
@unlink(public_path( $img));
return Response::json([
'message' => $request->img
], 200);
}
这是正确的吗,我也尝试过File::delete($img)
,但它不会删除我文件夹中的图像,但没有显示错误,请任何人帮助我解决此问题
最佳答案
您将整个图像源作为 $img
传递给函数deleteimg。刚刚发送了图像名称。然后使用 unlink(PATH TO YOUR IMAGE "/"IMAGE NAME)
。
就像您可以将图像保存在 public/uploads
中,然后使用 unlink(public_path().'/uploads/'.$imageName);
关于php - 在ajax中获取图像路径并在laravel 5.4中删除该图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44025796/