public function preUpload()
{
if (null !== $this->file) {
$this->path = $this->file->guessExtension();
}
}
這對於.docx文件不起作用。Symfony 2文件上傳:guessExtension()不適用於.docx文件
我得到一個名爲「myfile」的文件。 - >沒有擴展。
如何處理?
public function preUpload()
{
if (null !== $this->file) {
$this->path = $this->file->guessExtension();
}
}
這對於.docx文件不起作用。Symfony 2文件上傳:guessExtension()不適用於.docx文件
我得到一個名爲「myfile」的文件。 - >沒有擴展。
如何處理?
我認爲你必須使用:
getClientOriginalExtension()
,因爲你想要得到原來的名字不是臨時名稱,該文件在您的服務器的擴展。
http://api.symfony.com/2.4/Symfony/Component/HttpFoundation/File/UploadedFile.html
我發現在它缺少一個mime類型爲.xls文件symfony的核心文件的錯誤。
我們有相同的行爲:GuessExtension將返回null。
我和我的團隊把它縮小到一個列出symfony的mime類型的數組。
這裏是我的另一個問題回答了同樣的解決方案的鏈接: https://stackoverflow.com/a/36435844/3980097
你會發現MimeTypeExtensionGuesse.php
的確切路徑在你的情況,失蹤的MIME類型可能是:
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx',
我希望這有助於!
我得到一個字符串「」。那有什麼好處? – Tool
沒關係,我用 - > getOriginalClientName修復了它。 – Tool
Symfony類「File」擴展PHP的「SplFileInfo」 \ SplFileInfo :: getExtension()在PHP 5.3.6之前不可用 – keyboardSmasher