【发布时间】:2013-11-19 21:51:28
【问题描述】:
我遇到了一个麻烦,关于使用 Laravel 验证 JavaScript 文件的上传, 验证规则是:
'javascript_file' => 'required|mimes:js'
据我所知,这应该可以工作,因为 Laravel 使用 mime_content_type() 来猜测文件的 mime,但它没有通过,在使用 application/javascript mime 测试文件时给我一个 mime 类型错误输入
编辑:dd($_FILES) 给予
["name"]=> string(7) "data.js"
["type"]=> string(22) "application/javascript"
["tmp_name"]=> string(35) "C:\easyphp\binaries\tmp\php21D0.tmp"
["error"]=> int(0)
["size"]=> int(12253)
编辑 2:
正如@searsaw 指出的那样,验证猜测似乎是错误的。
在vendor\laravel\framework\src\Illuminate\Validation\Validator.php中挖掘validateMimes方法后
并转储猜测变量dd($value->guessExtension()) 我得到了一个txt mime -_- 有效
【问题讨论】:
-
尝试使用类似的东西;
'required|mimes:js,javascript' -
已经尝试过
javascript和application/javascript但没有任何改变