Laravelを使用してJavaScriptファイルのアップロードを検証することに関して、私は面倒に遭遇しました。検証ルールは次のとおりです。
'javascript_file' => 'required|mimes:js'
Laravel はmime_content_type()を使用してファイルの mime を推測するため、私が知る限り、これは機能するはずですが、Mime タイプのファイルでテストすると mime type エラーが発生します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())
、MIMEが得られましたtxt
-_-うまくいきました