我遇到了一个麻烦,关于使用 Laravel 验证 JavaScript 文件的上传,验证规则是:
'javascript_file' => 'required|mimes:js'
据我所知,这应该可以工作,因为 Laravel 使用mime_content_type()来猜测文件的 mime,但它没有通过,在使用 mime 类型的文件进行测试时给我一个 mime 类型application/javascript
错误
编辑: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 指出的那样,验证猜测似乎是错误的。
在挖掘validateMimes
方法之后vendor\laravel\framework\src\Illuminate\Validation\Validator.php
并转储猜测变量,dd($value->guessExtension())
我得到了一个txt
mime -_- 有效