Merge pull request #1521 from nextcloud/fix-mimetypedetect-hiddenfolder
Fix mimetype detection inside hidden folders (#26138)
This commit is contained in:
commit
c4d263199c
|
@ -166,9 +166,11 @@ class Detection implements IMimeTypeDetector {
|
|||
public function detectPath($path) {
|
||||
$this->loadMappings();
|
||||
|
||||
if (strpos($path, '.')) {
|
||||
$fileName = basename($path);
|
||||
// note: leading dot doesn't qualify as extension
|
||||
if (strpos($fileName, '.') > 0) {
|
||||
//try to guess the type by the file extension
|
||||
$extension = strtolower(strrchr(basename($path), "."));
|
||||
$extension = strtolower(strrchr($fileName, '.'));
|
||||
$extension = substr($extension, 1); //remove leading .
|
||||
return (isset($this->mimetypes[$extension]) && isset($this->mimetypes[$extension][0]))
|
||||
? $this->mimetypes[$extension][0]
|
||||
|
|
|
@ -74,6 +74,8 @@ class DetectionTest extends \Test\TestCase {
|
|||
$this->assertEquals('text/plain', $this->detection->detectPath('foo.txt'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('foo.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('foo.bar.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('.hidden/foo.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('test.jpg/foo.png'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath('.png'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath('foo'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath(''));
|
||||
|
|
Loading…
Reference in New Issue