当前位置: 首页 > 知识库问答 >
问题:

如何在更新Laravel 8中的图像后从公用文件夹中删除图像

宿镜
2023-03-14

我试图更新包含文件(图像)的表单,并删除旧图像。更新工作正常,但旧图像无法删除。我尝试了这个代码,但图像没有被删除。请帮帮我。提前谢谢。

public function update(Request $request, $id)
{
    $slug   = SlugService::createSlug(Category::class, 'slug', $request->title);
    $request->validate([
        'title'=>'required',
        'category_image'=>'image'
    ]);
    if ($request->hasFile('category_image')) {
        $image          = $request->file('category_image');
        $newImageName   = uniqid().'-'.$request->title.'.'.$image->getClientOriginalExtension();
        $location       = public_path('/categoryImage');
        $OldImage       = public_path('categoryImage/'.$request->category_image);
        $image->move($location, $newImageName);
        Storage::delete($OldImage);
    }else {
        $newImageName   = $request->category_image;
    }
    Category::where('id', $id)->update([
       'slug'=>$slug,
       'title'=>$request->input('title'),
       'details'=>$request->input('details'),
       'category_image'=>$newImageName
    ]);
    return redirect('category')->with('success', 'Category Successfully Updated');
}

共有1个答案

景鹏飞
2023-03-14

您可以像这样删除旧映像,如果映像不在存储的根目录中,请在映像名称之前将文件位置插入存储中。

unlink(storage_path('/location_inside_storage/'.$OldImage));
 类似资料:
  • 我正在尝试访问src文件夹中的js文件中的公用文件夹中的映像?更具体地说,我正在设计一个div容器。我想将其backgroundImage属性设置为公用文件夹中的图像文件。我该怎么做呢?感谢您的回复!

  • 然后尝试了这个解决方案,我尝试了,但没有返回任何内容,还尝试了,显示0 GB。 我还计划在docker内安装其他程序到操作系统,因此希望从现有的子映像中产生新的子映像。我到处搜索,没有一个很好的解决方案删除一个父图像在docker和原因,我阅读是因为一些父层被使用的子图像。在docker中生成一个新的子映像后,是否没有办法删除父映像?

  • 我正在尝试制作一个Java桌面应用程序,其中我有一个< code>JLabel来混洗图像。我正在从我的电脑的任意驱动器上的文件夹中检索图像。现在,我想从一个项目文件夹中检索所有图像,该文件夹中的图像文件夹名称是可用的。 这是我的代码。我怎样才能做到这一点? 提前谢谢

  • 我的图像在锚文本中工作正常。但是当我从URL中删除公共时(通过将. htaccess放在根目录中)图像路径不工作。 此admin_images文件夹位于公用文件夹中。

  • 我创建了一个JButton,如果我点击它,就会显示一张卡片。每次我点击这个按钮,下一张相同花色的牌就会出现,这个过程应该继续下去,直到所有13张相同花色的牌都显示出来。我在JLabel的ImageIcon上以图片的形式展示卡片。问题是,如果我想在同一个地方显示所有的牌,第一张牌不会从原来的位置移走,而是将其余的12张牌隐藏起来。这意味着每一张新牌,它应该被展示到它的前一张牌之下。我试图通过使用fr

  • 我有一个图像缓存在我的应用程序文档文件夹。我想把它复制到文档文件夹里。到目前为止,我知道我可以加载我的图像作为UIIimage,然后将它转换为数据并保存在我的目标路径中。但有没有比这更好的办法呢?就像我不想在UIIimage中转换我的图像,然后再将其转换为数据并写入。 我的png代码是: