tp5 获取文件MIME为application/octet-stream问题

2023-03-22 17:33:42 浏览数 (2)

出现的问题

后台管理系统利用excel批量导入用户数据时,其他成员的电脑上上传excel mime-type类application/octet-stream; 无法通过后台验证(后台是校验的mime); 但在我的电脑上可以,百度也没有相关解决方法;

出现的原因

  • 其他成员使用的是wps,wps的某个版本将excel的mime-type类型保存为application/octet-stream;
  • 或者其他类型,当浏览器遇到无法识别的类型时,也默认为application/octet-stream;
  • 用PHP getMime()方法获取不到正常的mime

解决方法

tp5解决防范

代码语言:javascript复制
// tp5 用getInfo获取MIME ( getMime()获取不正确)
$file = request()->file('file');
$mime=$file->getInfo('type');

原生php解决方案

利用$_FILES数组获取即可

代码语言:javascript复制
var_dump($_FILES['file']['type']);

0 人点赞