【发布时间】:2012-11-13 09:59:33
【问题描述】:
public function preUpload()
{
if (null !== $this->file) {
$this->path = $this->file->guessExtension();
}
}
这不适用于 .docx 文件。
我得到一个名为“myfile”的文件。 -> 没有扩展名。
如何处理?
【问题讨论】:
标签: symfony
public function preUpload()
{
if (null !== $this->file) {
$this->path = $this->file->guessExtension();
}
}
这不适用于 .docx 文件。
我得到一个名为“myfile”的文件。 -> 没有扩展名。
如何处理?
【问题讨论】:
标签: symfony
我认为你必须使用:
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',
我希望这会有所帮助!
【讨论】: