Laravel 5.2 正在使用文件系统上传文件
Laravel 5.2 uploading file using filesystem
我在使用 Laravels 文件系统上传时遇到了一些问题。
当我尝试执行这段代码时
Storage::disk('public')->put(
$img->getClientOriginalName(),
file_get_contents($img->getRealPath())
);
本地 public 文件夹中没有发生任何事情,我什至检查了该文件是否存在并且 returns 正确
dd(Storage::disk('public')->exists($img->getClientOriginalName()));
目前我正在使用 $img->move
方法,它可以正常工作。
磁盘也在filesystems.php
中配置
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
我对此感到困惑,因为几周前它在另一个项目上运行正常。
这应该有效:
if ($request->hasFile('myFile'))
{
$fileExtension = strtolower($request->file('myFile')->getClientOriginalExtension());
$newFilename = str_random(20) . '.' . $fileExtension;
$storagePath = storage_path() . '/app/uploads/';
$request->file('myFile')->move($storagePath, $newFilename);
}
我现在已经在 Claudio 的帮助下使用 'root' => public_path('')
解决了这个问题。
我在使用 Laravels 文件系统上传时遇到了一些问题。
当我尝试执行这段代码时
Storage::disk('public')->put(
$img->getClientOriginalName(),
file_get_contents($img->getRealPath())
);
本地 public 文件夹中没有发生任何事情,我什至检查了该文件是否存在并且 returns 正确
dd(Storage::disk('public')->exists($img->getClientOriginalName()));
目前我正在使用 $img->move
方法,它可以正常工作。
磁盘也在filesystems.php
中配置 'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'visibility' => 'public',
],
我对此感到困惑,因为几周前它在另一个项目上运行正常。
这应该有效:
if ($request->hasFile('myFile'))
{
$fileExtension = strtolower($request->file('myFile')->getClientOriginalExtension());
$newFilename = str_random(20) . '.' . $fileExtension;
$storagePath = storage_path() . '/app/uploads/';
$request->file('myFile')->move($storagePath, $newFilename);
}
我现在已经在 Claudio 的帮助下使用 'root' => public_path('')
解决了这个问题。