如何将laravel 5.3中的存储路径更改为public?

时间:2016-08-25 20:47:31

标签: laravel laravel-5 laravel-5.3

## unlink deletes the temporary file ## on.exit ensures the sink is closed even if ## corenv raises an error. corenv(..., verbose=FALSE) { if(verbose) { sink("tmp.txt") on.exit(sink(); unlink("tmp.txt")) } seewave::corenv(...) } 中,如果我从表单上传文件,它将存储在自己的存储目录中。然后我应该在公共路径中为该存储路径创建laravel 5.3

由于此限制,我无法在我的系统上创建符号链接。如何将文件直接上传到symlink而不是public/uploads

我尝试在storage/app/uploads中设置路径,但它不起作用。

AppServiceProvider.php

by" not working"我的意思是它仍然上传到默认存储目录。我也清除了缓存。

这是上传部分(在控制器中使用):

public function register()
{
    //not working:
    $this->app->useStoragePath( $this->app->basePath() .  "/upload");

    //also not working:
    // $this->app->bind('path.storage', function () {
    // return $this->app->basePath() . '/upload';
    // });

}

感谢任何提示。 :)

1 个答案:

答案 0 :(得分:20)

在Laravel 5中,您现在必须在config/filesystems.php中执行此操作。您可以像这样添加新磁盘:

'disks' => [

    'uploads' => [
          'driver' => 'local',
          'root'   => public_path(), // previously storage_path();
    ],

]

然后执行以下操作:

Storage::disk('uploads')->put('filename', $file_content);