2 回答
TA贡献1877条经验 获得超1个赞
甚至有必要做
$request->hasFile('file')
-block吗?
主要的问题将是这个逻辑是否在场景中执行$request
也不会有一个名为文件file
。
如果没有hasFile
调用,缺少文件的请求file
将在 line 上抛出错误(“Call to a member function isValid() on null”)$file->isValid()
,就像$file
null 一样。
TA贡献1818条经验 获得超11个赞
首先,您必须php artisan storage:link在 Laravel 文件夹中运行以在 Laravel 应用程序中设置存储链接。验证器将帮助您了解文件是否已上传。
并且 hasFile 函数检查文件是否已上传,因此通过我们可以检查文件是否成功上传的方法,您可以为用户方便的 webapp 发出警报。
public function store(Request $request){
$this->validate($request, [
'file' => 'image|nullable|max:1999'
]);
// Handle File Upload
if($request->hasFile('file')){
// Get filename with the extension
$filenameWithExt = $request->file('file')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('file')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $filename.'_'.time().'.'.$extension;
// Upload Image
$path = $request->file('file')->storeAs('public/file', $fileNameToStore);
return redirect()->back() ->with('alert', 'Updated!');
} else {
$fileNameToStore = 'noimage.jpg';
}
}
- 2 回答
- 0 关注
- 386 浏览
添加回答
举报