()是因为上传的文件为空。调用成员函数getClientOriginalExtension()是用于获取上传文件的扩展名。当上传文件为空时,laravel会返回null,因此调用该函数会出现错误。
解决这个问题的方法是在上传文件之前,先进行判断文件是否为空。可以使用isValid()函数来判断文件是否有效,然后再调用getClientOriginalExtension()函数获取文件扩展名。
以下是一个示例代码:
if ($request->hasFile('image')) {
$file = $request->file('image');
if ($file->isValid()) {
$extension = $file->getClientOriginalExtension();
// 其他处理逻辑
}
}
在上述代码中,首先使用hasFile()函数判断是否有文件上传,然后使用file()函数获取上传的文件对象。接着使用isValid()函数判断文件是否有效,如果有效则调用getClientOriginalExtension()函数获取文件扩展名。
对于laravel 5.3,推荐使用腾讯云的对象存储服务 COS(Cloud Object Storage)来存储上传的图像文件。COS是一种高可用、高可靠、弹性扩展的云存储服务,适用于存储和处理任意类型的文件,具有安全、稳定、高效的特点。
腾讯云COS的产品介绍和相关链接如下:
通过使用腾讯云COS,您可以将上传的图像文件保存在云端,实现高可用性和可靠性,并且可以方便地进行文件管理和访问控制。
领取专属 10元无门槛券
手把手带您无忧上云