public function preUpload()
{
if (null !== $this->file) {
$this->path = $this->file->guessExtension();
}
}
这不适用于 .docx 文件。
我得到一个名为“myfile”的文件。-> 没有扩展名。
如何处理?
public function preUpload()
{
if (null !== $this->file) {
$this->path = $this->file->guessExtension();
}
}
这不适用于 .docx 文件。
我得到一个名为“myfile”的文件。-> 没有扩展名。
如何处理?
我认为你必须使用:
getClientOriginalExtension()
因为您想获取原始名称的扩展名,而不是文件在服务器中的临时名称。
http://api.symfony.com/2.4/Symfony/Component/HttpFoundation/File/UploadedFile.html
我在 symfony 核心文件中发现了一个错误,它缺少 .xls 文件的 mimeType。
我们有相同的行为:GuessExtension 将返回 null。
我和我的团队将其缩小到一个列出 symfony 的 mime 类型的数组。
这是我在另一个问题上回答的相同解决方案的链接: https ://stackoverflow.com/a/36435844/3980097
您将找到 MimeTypeExtensionGuesse.php 的确切路径
在您的情况下,缺少的 mime 类型可能是:
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx',
我希望这有帮助!