我在这里对 Laravel 5 中的 Storage VS Public 路径感到有些困惑> ...我的理解是应该使用Storage::
而不是File::
将文件写入 Storage 文件夹,以预见使用 Amazon 等云服务。所以我正在尝试storage/app
使用干预和此代码将 jpg 放入文件夹中:
public function apply(Request $request)
{
$user = Auth::user();
$path = '/users/'.$user->id;
if (!Storage::exists($path))
{
Storage::makeDirectory ($path, $mode = 0755, $recursive = false, $force = false);;
}
Image::make($request->file('image'))
->orientate()
->resize(600, null, function ($constraint) {
$constraint->aspectRatio();
})
->resizeCanvas(600, 600, 'center', false, 'ffffff')
->save($path.'/foo.jpg');
}
首先,我不确定是否!Storage::exists($path)
会做任何事情,因为存储 API 告诉它不会检查目录,那么我应该如何检查目录是否存在?第二dd(is_writable($path))
;返回 false,并且确实运行该代码会导致
NotWritableException in Image.php line 143:
Can't write image data to path
错误。那么这应该怎么做呢?