如何将laravel 5.3中的存储路径更改为public?
How to change storage path in laravel 5.3 to public?
在laravel 5.3
中,如果我从一个表单上传一个文件,它会被存储在自己的存储目录中。然后我应该在 public 路径中为该存储路径创建一个 symlink
。
由于限制,我无法在我的系统上使用创建符号链接。如何将文件直接上传到 public/uploads
而不是 storage/app/uploads
?
我试图在 AppServiceProvider.php
中设置路径,但它不起作用。
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';
// });
}
by "not working" 我的意思是它还在上传到默认的存储目录。我也清除了缓存。
这里是上传部分(在控制器中使用):
$request->image->storeAs("uploads", "uploaded_image.jpg");
感谢任何提示。 :)
在 Laravel 5 中,您现在必须在 config/filesystems.php
中执行此操作。您可以像这样添加一个新磁盘:
'disks' => [
'uploads' => [
'driver' => 'local',
'root' => public_path(), // previously storage_path();
],
]
然后执行以下操作来使用它:
Storage::disk('uploads')->put('filename', $file_content);
在laravel 5.3
中,如果我从一个表单上传一个文件,它会被存储在自己的存储目录中。然后我应该在 public 路径中为该存储路径创建一个 symlink
。
由于限制,我无法在我的系统上使用创建符号链接。如何将文件直接上传到 public/uploads
而不是 storage/app/uploads
?
我试图在 AppServiceProvider.php
中设置路径,但它不起作用。
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';
// });
}
by "not working" 我的意思是它还在上传到默认的存储目录。我也清除了缓存。
这里是上传部分(在控制器中使用):
$request->image->storeAs("uploads", "uploaded_image.jpg");
感谢任何提示。 :)
在 Laravel 5 中,您现在必须在 config/filesystems.php
中执行此操作。您可以像这样添加一个新磁盘:
'disks' => [
'uploads' => [
'driver' => 'local',
'root' => public_path(), // previously storage_path();
],
]
然后执行以下操作来使用它:
Storage::disk('uploads')->put('filename', $file_content);