我已经在vscode中克隆了一个项目。代码很好,拥有一切 它有一个创建帖子页面,我可以在其中添加图像。该图像路径完美地进入了数据库,但没有存储在项目中的给定位置。
这是将图像拍摄到的位置:
// file name
$fileExt = $request->file('img')->getClientOriginalName();
// seperating file name from extension
$fileName = pathinfo($fileExt, PATHINFO_FILENAME);
// extension
$ext = $request->file('img')->getClientOriginalExtension();
// file name to store
$fileToStore = $fileName.'_'.time().'.'.$ext;
// file to upload and keeping it in folder
$upload = $request->file('img')->storeAs('/storage/user/posts', $fileToStore);
// storing image in database
$post->image = $fileToStore;
它进入数据库,但不在存储文件夹中
This image shows storage folder has permissions allow location to read and write
答案 0 :(得分:0)
您是否在要写入文件的文件夹上设置了写入权限?如果您使用的是Linux计算机,则可以使用
chmod -R 777 /folder-path
答案 1 :(得分:0)
在storeAs方法中,您不想将路径指定为“ / storage / user / posts”。默认路径将从存储中获取。
尝试这样更改代码。
$upload = $request->file('img')->storeAs('user/posts', $fileToStore);
有关storeAs方法的更多详细信息,请检查here