我正在尝试将上传文件的任何用户的电子邮件地址存储到“uploader_name”字符串变量中。我尝试使用以下代码成功 - 尝试上传文件将导致 Class'App \ Http \ Controllers \ Auth'未找到错误消息被抛回。我知道这是一个非常基本的问题,但我似乎找不到任何特别适用于Laravel 5的答案。
这是我目前正在尝试使用但没有成功。
$filelist->uploader_name = Auth::user()->email;
如果有帮助,这里是保存文件的一些自动信息的完整功能。
public function store()
{
$filelist = new Filelist($this->request->all());
//store file details - thanks to Jason Day on the unit forum for helping with some of this
$filelist->name = $this->request->file('asset')->getClientOriginalName();
$filelist->file_type = $this->request->file('asset')->getClientOriginalExtension();
$filelist->file_size = filesize($this->request->file('asset'));
$filelist->uploader_name = Auth::user()->email;
$filelist->save();
// Save uploaded file
if ($this->request->hasFile('asset') && $this->request->file('asset')->isValid()) {
$destinationPath = public_path() . '/assets/';
$fileName = $filelist->id . '.' . $this->request->file('asset')->guessClientExtension();
$this->request->file('asset')->move($destinationPath, $fileName);
}
return redirect('filelists');
}
答案 0 :(得分:1)
你正在获得Class' App \ Http \ Controllers \ Auth'找不到错误,因为您没有使用正确的命名空间:
有两种方法可以解决这个问题:
在您的控制器中添加use
关键字
示例:
use Auth;
UploadController{
....
}
或直接指定完整命名空间
$filelist->uploader_name = \Auth::user()->email;
答案 1 :(得分:0)
您收到 not found 错误,因为您没有使用正确的命名空间。
如果您使用use
关键字,则可以解决此问题:
use Auth;
public uploadController {
...
}
或者您可以使用完整的命名空间:
$filelist->uploader_name = \Auth::user()->email;