【发布时间】:2014-03-01 02:29:16
【问题描述】:
当我上传格式正确的 MP3 文件时,Laravel 4 告诉我不是 audio/mp3 而是 application/octet-stream,这使得验证失败:
$validator = Validator::make(
array('trackfile' => Input::file('trackfile')),
array('trackfile' => 'required|mimes:mp3')
);
if($validator->fails())
return 'doesn\'t works because mime type is '.Input::file('trackfile')->getMimeType();
else
return 'it works!';
为什么不将文件上传为audio/mp3 文件?
(我已经在表单声明中添加了'files' => true)
【问题讨论】:
-
也许看看 vendor\symfony\http-foundation\Symfony\Component\HttpFoundation\File\File.php 会有所帮助。我相信这就是 getMimeType() 所在的地方。
-
array('trackfile' => Input::file('trackfile'))是什么? -
@SheikhHeera 将“trackfile”规则键绑定到“trackfile”文件输入。你有什么建议?即使我不确定这是这里的问题!
-
从规则设置中删除第一行
array('trackfile' => Input::file('trackfile')。 -
我必须为验证器指定一个输入,我不能只删除这一行。此外,如果我只输入
Input::file('trackfile'),它会告诉我它需要一个数组而不是一个对象。
标签: php file-upload laravel laravel-4 mime-types