我正在尝试使用普通的 crud 表单为每个产品上传一张图片
使用此代码,我可以看到我将图像上传到存储>应用程序>上传
我可以在 phpMyAdmin 中看到我在 VScode 中看到的相同名称(例如 185138_1616528993.png ) 在那里显示,但我在浏览器中看到损坏的图像。我不知道该怎么办了
这是商店功能
$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');
这是 product-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 存储
答案 0 :(得分:0)
你应该使用这行代码来存储图像
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) }}">