从laravel数据库获取图像到angular前端



我有电子商务项目,我需要查看产品的图像,我不知道如何得到它的角度,我希望任何人都能帮助我laravel中的store函数

public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:100', 'display' => 'required|string|max:100', 'ram' => 'required|string|max:100', 'img' => 'required|image|mimes:jpg,png',
'storage' => 'required|string|max:100', 'rear_cam' => 'required|string|max:200', 'front_cam' => 'required|string|max:200',
'price' => 'required'
]);
if ($validator->fails()) {
$errors = $validator->errors();
return response()->json($errors);
}
$img = $request->file('img');
$ext = $img->getClientOriginalExtension();
$img_name = 'product-' . uniqid() . ".$ext";
$img->move(public_path('uploads/books/'), $img_name);
$name = $request->name;
$brand_id = $request->brand_id;
$display = $request->display;
$ram = $request->ram;
$storage = $request->storage;
$rear_cam = $request->rear_cam;
$front_cam = $request->front_cam;
$price = $request->price;
$product = Product::create(['name' => $name, 'brand_id' => $brand_id, 'display' => $display, 'img' => $img_name, 'ram' => $ram, 'storage' => $storage, 'rear_cam' => $rear_cam, 'front_cam' => $front_cam, 'price' => $price]);
$success = 'Product created successfully';
return response()->json($success);
}

html角

<td><img [src]="'./../../../../../../../xampp/htdocs/mobitech/public/uploads/books/' + product.img" class="w-100"></td>

  1. 在存储图像后在数据库中创建列,获取静态URL它的
  2. 保存到数据库
  3. 传递给你的前端使用静态URL

您可以使用base64表示,这是一组二进制到文本的编码方案,以ASCII字符串表示二进制数据,该字符串可以作为普通字符串直接存储到数据库中。

你可以在这里找到如何使用Laravel将图像转换为base64

在angular中,你需要把那个字符串放到img标签的src属性中。如果您将结果存储在名为img64的变量中,则可以这样做

<td><img [src]="img64" class="w-100"></td>

要在Laravel Blade中查看图像,您可以简单地使用:

<td><img [src]="{{asset('uploads/books'.'/'.+ $product->img)}}" class="w-100"></td>

最新更新