代码之家  ›  专栏  ›  技术社区  ›  nup

如何在Nuxt+Laravel网站上使用图像?

  •  0
  • nup  · 技术社区  · 1 年前

    我正在上创建一个网站 Nuxt 3 + Laravel (后端)。我有一个文章编辑器,我可以在那里上传图片。我需要将此图像压缩并裁剪为几种不同的格式。然后,我将根据输出位置选择所需的格式。 Nuxt Laravel 位于服务器上的不同文件夹中,具有不同的url。问题:

    1. 我应该将图像存储在哪里 Nuxt Laravel ?

    如果在 Laravel ,则:

    1. 如何从访问它们 Nuxt ?
    2. 如果站点当前是通过本地路径访问的,我如何指定图像的路径- localhost:8000 ?当我在互联网上发布网站时,我需要这些图片不要消失。
    0 回复  |  直到 1 年前
        1
  •  0
  •   Nehal    1 年前

    尝试 @存储器 指令

    <img src="@storage('images/product-image.jpg', { baseUrl: process.env.BASE_URL })" />
    

    假设您的图像文件位于Laravel存储目录的images目录中。这个 @存储() 指令将自动解析图像文件的路径,并将其作为字符串返回。

        2
  •  0
  •   abhay    1 年前

    存储图像的位置取决于您的特定用例和需求。您可以在NuxtJS端存储静态图像(横幅图标),在Laravel端存储动态图像(用户文档、产品图像和头像)。

    因此,在Laravel方面,您可以使用文件函数并将图像存储在存储文件夹中,然后创建存储链接(PHP手工存储:链接),然后创建API并返回响应对象中的完整图像路径。

    public function uploadImage(Request $request)
        {
            $image = $request->file('image');
            if ($image) {
                $file_name = uniqid() . '.' . $image->getClientOriginalExtension();
                Storage::disk('public')->putFileAs('images', $image, $file_name);
    
              //store complete path in db or just name of name 
              //'/storage/images/' . $filename
            }
            return response()->json(['error' => 'No image uploaded'], 400);
        }
    

    在NuxtJS中,您可以通过一些配置来使用。 https://image.nuxtjs.org/configuration

    <nuxt-img :src="user. Avatar" />