5

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-_-うまくいきました

4

2 に答える 2