Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 拉威尔-你不知道';我无权访问此服务器上的/images/_Laravel_Heroku - Fatal编程技术网

Laravel 拉威尔-你不知道';我无权访问此服务器上的/images/

Laravel 拉威尔-你不知道';我无权访问此服务器上的/images/,laravel,heroku,Laravel,Heroku,我有一个Laravel项目上传到Heroku 一切正常,除了上传图像的功能。 当我尝试上传时,它显示 “禁止 您没有访问此服务器上的/images/的权限。“ 下面是我的store()函数的外观 public function store(Request $request) { $this->validate($request, [ 'filename' => 'required', 'filename.*' => 'image|mimes:

我有一个Laravel项目上传到Heroku

一切正常,除了上传图像的功能。 当我尝试上传时,它显示

“禁止 您没有访问此服务器上的/images/的权限。“

下面是我的store()函数的外观

public function store(Request $request)
{
    $this->validate($request, [
       'filename' => 'required',
       'filename.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);

    if ($request->hasFile('filename')) {
        foreach ($request->file('filename') as $image) {
            $name = $image->getClientOriginalName();
            $image->move(public_path() . '/images/', $name);
            $data[] = $name;
        }
    }

    return back()->with('success', 'Images uploaded successfully!');
}

这本身并不能解决您的问题。但你以后会面临另一个问题

如果你希望文件能够保存,就不应该直接上传到Heroku的文件系统上。希罗库有一个好主意。每个dyno都是一个独立的容器。每当重新启动应用程序时,都会启动一个新容器,这意味着文件系统中存储的任何内容都将永久丢失

您应该将文件上载到专用存储系统,如Google Cloud或Amazon S3。
请参阅

您确定服务器上存在/images/文件夹,并且您的代码对该文件夹具有写入权限吗?@MaaikeBrouwer感谢您的回复。是的,我确定存在图像文件夹。如何确保该文件夹具有写访问权限?若要检查读/写访问权限,请转到服务器的控制台环境(我认为有可能打开这样的heroku环境?),并使用ls-l检查文件夹的读/写权限。如果您不知道此操作的结果,请查看。应该可以使用设置权限