gpt4 book ai didi

laravel - 如何使用表单从公众中删除图像?

转载 作者:行者123 更新时间:2023-12-04 12:24:01 26 4
gpt4 key购买 nike

我编写了一个产品注册程序,然后上传了一张图片。此图像保存到公共(public)/存储/产品。有一个输入字段用于输入图像的名称,图像被赋予这个名称,该名称与图像扩展名一起保存在数据库中。我想知道如何在单击删除时从 public/storage/products 文件夹中删除此图像。
我下面试过的方法没用
Controller :

public function store(Request $request)
{
$nameFile = $request->input('imageName', '');
if($request->file('imageProduct')->isValid()){
$nameFile .= '.' . $request->file('imageProduct')->getClientOriginalExtension();
$request->file('imageProduct')->storeAs('products', $nameFile);
}

$product = new Product();

$product->name = $request->input('name');
$product->price = $request->input('price');
$product->imageName = $nameFile;

$product->save();

return redirect()->route('ProductControllerIndex');
}

public function destroy($id)
{
$products = Product::all();
$filePathName = 'products/' . $products->imageName;
if( file_exists($filePathName) ){
unlink($filePathName);
}
// $delete = Product::find($id);
// if(!$delete)
// return redirect()->route('ProductControllerCreate');

// $delete->delete();
// return redirect()->route('ProductControllerCreate');
}
}
看法:
<form action="{{ route('ProductControllerDestroy', $product->id) }}" method="post">
@csrf
@method('DELETE')

<input type="submit" value="Remover">
</form>

最佳答案

您在那里添加了公共(public)路径。检查下面的代码。

    $product = Product::find($id);
$filePathName = public_path().'/products/'. $products->imageName;
if( file_exists($filePathName) ){
unlink($filePathName);
}

关于laravel - 如何使用表单从公众中删除图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62720029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com