/ / Laravel Valet não está servindo arquivos jpeg sem extensão - laravel, laravel-valet, caddy, caddiefile

Laravel Valet não está servindo arquivos jpeg sem extensão - laravel, laravel-valet, caddy, caddiefile

Laravel Valet servindo arquivos jpeg sem extensão com tamanho errado e soma de verificação alterada, é claro. Eu estou postando informações sobre um arquivo de exemplo, o arquivo com .0 no final é baixado através de valet.

$ls -la
f2b40f33d19b147bc8d0e88f4b8c489e35c165dd
-rw-r--r--   23905
f2b40f33d19b147bc8d0e88f4b8c489e35c165dd.0
-rw-r--r--   23750

$ls -la
$ md5 f2b40f33d19b147bc8d0e88f4b8c489e35c165dd
MD5 (f2b40f33d19b147bc8d0e88f4b8c489e35c165dd) = 9b5d3e104764e4b4c2b9e942704091f1
$ md5 f2b40f33d19b147bc8d0e88f4b8c489e35c165dd.0
MD5 (f2b40f33d19b147bc8d0e88f4b8c489e35c165dd.0) = 944e47ce0ccd4da18b7761af0e5f0226

Eu tentei adicionar um mime ao CaddyFile, mas parece que o caddy não suporta mime para arquivos sem extensão. Eu tentei o seguinte:

mime . image/jpeg
mime .* image/jpeg
mime * image/jpeg

Mesmo arquivo com um .jpeg extensão está OK, o que está errado?

Respostas:

1 para resposta № 1

Valet usa mimes.php dentro ValetDriver.php para determinar o tipo de conteúdo correto com base na extensão do arquivo:

...
"jpeg" => "image/jpeg",
"jpg" => "image/jpeg",
"jpe" => "image/jpeg",
...

você pode adicionar a extensão vazia lá, para servir tudo sem extensão como image / jpeg

"" => "image/jpeg"

No entanto, Valet não é suposto a arquivos do servidor com extensão vazia, você recebe o aviso que quebra a imagem

Notice: Undefined index: extension in ...clidriversValetDriver.php on line 121

Como um hack rápido, você pode mudar a linha # 121 em ~/.composer/vendor/cli/drivers/ValetDriver.php para suprimir o aviso

@$extension = pathinfo($staticFilePath)["extension"];