Laravel 如何使用Vue访问另一个docker卷文件&;拉威尔?

Laravel 如何使用Vue访问另一个docker卷文件&;拉威尔?,laravel,docker,vue.js,docker-volume,Laravel,Docker,Vue.js,Docker Volume,我正在docker上运行一个Vue&Laravel项目 首先,我目前正在尝试在服务器上上载图像。 如果我在没有docker的情况下运行此项目,它将按计划工作(文件正在上载到服务器上,并且可以访问)。 然而,如果我用docker运行这个项目,它会抛出一个错误(找不到目录) 重要备注:我猜测可能会发生这种情况,因为我正在后端处理文件(laravel controller,代码如下)。因此,它只能访问后端卷 它正在尝试在前端卷中定位文件,但无法访问该文件。 因此,这里有一个问题:如何访问该卷? 文件

我正在docker上运行一个Vue&Laravel项目

首先,我目前正在尝试在服务器上上载图像。
如果我在没有docker的情况下运行此项目,它将按计划工作(文件正在上载到服务器上,并且可以访问)。
然而,如果我用docker运行这个项目,它会抛出一个错误(找不到目录)

重要备注:我猜测可能会发生这种情况,因为我正在后端处理文件(laravel controller,代码如下)。因此,它只能访问后端卷

它正在尝试在前端卷中定位文件,但无法访问该文件。
因此,这里有一个问题:如何访问该卷?

文件控制器

    public function uploadFile (Request $request) {
        # Processing to base64
        $exploded = explode(',', $request->image_data);
        $decoded = base64_decode($exploded[1]);

        # Configuring the extension
        $extension = strtok(explode('/', $exploded[0])[1], ';');

        # Defining the path
        $path = '../../'.'frontend'.'/'.'src'.'/'.'assets'.'/'.'img'.'/'.'files'.'/'.$request->file_name;

        # Uploading file to the storage
        file_put_contents($path, $decoded);
    }
你在这里的路

$path = '../../'.'frontend'.'/'.'src'.'/'.'assets'.'/'.'img'.'/'.'files'.'/'.$request->file_name;
向上走两步,然后进入
frontend
目录。但是您的
后端
容器中没有这样的目录

后端:
卷数:
-/后端:/app
-/etc/php:/usr/local/etc/php/local.conf.d/
最后两行装入后端容器中的
bakend
etc/php
。正如您所看到的,没有前端,所以您在主机上使用的路径将不起作用。再添加一行以修复它:

后端:
卷数:
-/后端:/app
-/etc/php:/usr/local/etc/php/local.conf.d/
-/前端:/frontend#此行

这将使前端目录出现在
/frontend
上,这应该足以修复它。

您可以共享您的docker-compose.yml文件吗?为什么要在vue项目中上载一些文件?乍一看,错误似乎是试图访问laravel项目中不存在的
前端
路径……请避免添加代码截图。试图帮助您的人必须键入此代码才能对其进行测试。相反,使用代码块并将代码复制粘贴到内部。@Christolytras正如我前面提到的,控制器中的代码并没有问题。我附上它只是为了更好的视力。“如果我在没有docker的情况下运行此项目,它将按计划工作(文件正在服务器上上载)。但是,如果我在没有docker的情况下运行此项目,它将抛出一个错误(找不到目录)。@mpccolorado请查看本文:。在这里你会发现整个setup@TyomaInagamov我不是在评判代码,我是说,您不应该在这里将代码发布为截图图像,而应该使用代码块。我建议你阅读,尤其是第三段“不要发布代码、数据、错误消息等的图像”中的“帮助他人重现问题”,并阅读此Q/A。非常感谢!天知道我花了多少时间来解决这个问题。我希望你做得很好,如果我能以任何方式帮助你,我会的。再谢谢你一次time@TyomaInagamov,不客气,托尼奥萨。