繁体   English   中英

LARAVEL7上传图片但未显示在页面中

[英]LARAVEL7 uploading image but not showing in page

我正在尝试使用正常的 crud 形式为每个产品上传图片

使用此代码,我可以看到我将图像上传到 storage>app>uploads

我可以在 phpMyAdmin 中看到我在 VScode 中看到的相同名称(例如 185138_1616528993.png )显示在那里,但我在浏览器中得到损坏的图像。 我不知道该怎么办了

这是商店 function

        $newProduct = Product::make($request -> all());
        $color = Color::findOrFail($request['color_id']);

        $img = $request -> file('imgpro');

        $ext = $img -> getClientOriginalExtension();
        $name = rand(100000, 999999) . '_' . time();
        $fileName = $name . '.' . $ext;

        $img -> storeAs('uploads/', $fileName);
        $newProduct -> imgpro = $fileName;

        $newProduct -> color() -> associate($color);

        $newProduct -> save();
        return redirect() -> route('product-show', $newProduct -> id);//  route('product-index');



 
        return redirect() -> route('product-show', $newProduct -> id);//  route('product-index');

这是产品-show.blade.php

    <img src="{{ asset('/public/uploads/' . $product -> imgpro) }}"  alt="imgpro">

    <img src="{{ asset('/storage/app/uploads/' . $product->imgpro) }}" alt="imgpro2">

    <img src="{{ asset( $product -> imgpro )}}" alt="imgpro3">

    <img src="{{ $product -> imgpro }}" alt="boh">

我做了phpartisan存储

您应该使用这行代码来存储图像

if(request()->hasFile('imgpro'))
{
    $image = $request['imgpro'];
    $imagename = rand(100000,999999).'-'. $image->getClientOriginalExtension();
    request()->file('image')->storeAs('uploads/',$imagename); 
    $newproduct->imgpro = $imagename;
}

在刀片文件中颠覆以下代码

<img src="{{ asset('storage/uploads/'.$product->image) }}">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM