大家好,我需要你们的帮助。我正在创建一个 laravel 项目,我在其中修改了默认的 users 表以存储更多用户信息,例如 name 和 user image file姓名。所以我不得不修改 'RegisterController' 类,其中 'create' 功能已被修改,我还添加了一个 'update' 方法存储上传的图像文件。下面是我的“RegisterController”类代码:
protected function update(array $data)
{
$path = $data['img']->storeAs('/public','ohgod ');
return $path;
}
protected function create(array $data)
{
$filename;
$filename = $data['img']->getClientOriginalName();
$filesize = $data['img']->getClientSize();
$this->update($data);
return User::create([
'name' => $data['name'],
'img_name' => $filename,
'img_size' => $filesize,
'username' => $data['username'],
'dob' => $data['dob'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
为此,我还必须修改表单 以获取用户的添加信息。现在,当我注册为新用户时。我在用户 表中得到了所有正确信息,但图像文件未存储在服务器中。
我是 laravel 的新手,所以我不知道我的代码有什么问题。我也没有收到任何错误消息。所以帮帮我吧。
我从laravel官网得到了存储代码的文件https://laravel.com/docs/5.5/filesystem
最佳答案
在插入数据库之前,您已将图像移动到文件夹
$destinationPath='images';
$filename = $data['img']->getClientOriginalName();
//move iamge to folder
$fileName = str_random(30).'.'.$data['img']->clientExtension();
$data['img']->move($destinationPath, $fileName);
移动的文件将在 public/images 文件夹中可用
关于php - 图像文件未存储在 laravel 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46209823/