我正在尝试解析通过laravel nova应用程序上传的文件。我只希望通过YML或XML文件进行解析。
但是为了能够区分上载的文件,我想检查MIME类型,以便可以为XML或YML调用正确的解析器。
但是,在XML的情况下,当将鼠标悬停在上载的文件(交响乐)上时,它会告诉我这是一个“文本/ xml”模仿类型。对于YML,它是“应用程序/八位字节流” MIME类型。
[->getMimeType();
选中时,这两个文件都将返回“文本/纯文本” MIME类型>
$mimeType = $file->getMimeType(); $finfo = new \finfo(FILEINFO_MIME_TYPE); $test = $finfo->file($path);
$mimeType
和$test
均返回“文本/纯文本”。
我是否还有另一种方法来确定XML / YML文件的MIME类型?我期望MIME类型与“ text / xml”,“ application / xml”,“ text / YML”或“ application / yml”类似。
我正在尝试解析通过laravel nova应用程序上传的文件。我只希望通过YML或XML文件进行解析。但是为了能够区分我想要的上传文件...
您的主要问题是YAML does not have a MIME type。即使这样做,MIME类型检测通常也使用magic number完成。由于不需要YAML具有any kind of identifier,因此使用这种类型的检测将很困难,并且您可能会得到不可靠的结果。