From f611e6f1ffe65e0ffeacf614b76cb113931484fa Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 19 Aug 2025 08:08:08 +0000 Subject: [PATCH 1/2] * [bug#64850] Switch file name to lower when adjust extention. --- module/file/control.php | 2 +- module/file/model.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/file/control.php b/module/file/control.php index b449879bd3..3b2d542956 100755 --- a/module/file/control.php +++ b/module/file/control.php @@ -162,7 +162,7 @@ class file extends control if($mode != 'open') { $fileName = $file->title; - if(!preg_match("/\.{$file->extension}$/", $fileName)) $fileName .= '.' . $file->extension; + if(!preg_match("/\.{$file->extension}$/", strtolower($fileName))) $fileName .= '.' . $file->extension; return $this->sendDownHeader($fileName, $file->extension, $file->realPath, 'file'); } diff --git a/module/file/model.php b/module/file/model.php index 739d6f75de..911048dce5 100755 --- a/module/file/model.php +++ b/module/file/model.php @@ -1028,7 +1028,7 @@ class fileModel extends model /* Append the extension name auto. */ $extension = $fileType ? ('.' . $fileType) : ''; - if($extension && strpos($fileName, $extension) === false) $fileName .= $extension; + if($extension && strpos(strtolower($fileName), $extension) === false) $fileName .= $extension; /* Judge the content type. */ $mimes = $this->config->file->mimes; From 55456ed8deb3dba1210e24ac65a8d0a48560e3f9 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 19 Aug 2025 08:29:30 +0000 Subject: [PATCH 2/2] * [bug#64850] Modify the unit test file of fileModel::sendDownHeader. --- module/file/test/model/senddownheader.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/module/file/test/model/senddownheader.php b/module/file/test/model/senddownheader.php index 7b3f01c563..8c8ff32508 100644 --- a/module/file/test/model/senddownheader.php +++ b/module/file/test/model/senddownheader.php @@ -9,6 +9,8 @@ cid=0 - 根据内容下载。 @test - 文件路径是非法路径。 @0 - 根据文件路径下载。 @test1 +- 测试扩展名大写。 @test2 +- 测试没有扩展名。 @test3 */ include dirname(__FILE__, 5) . '/test/lib/init.php'; @@ -36,6 +38,8 @@ try { r($fileModel->sendDownHeader('test.txt', 'txt', 'test.txt', 'file')) && p() && e('0'); //文件路径是非法路径。 r($fileModel->sendDownHeader('test.txt', 'txt', $downloadFile, 'file')) && p() && e('test1'); //根据文件路径下载。 + r($fileModel->sendDownHeader('test.TXT', 'txt', $downloadFile, 'file')) && p() && e('test2'); //测试扩展名大写。 + r($fileModel->sendDownHeader('test', 'txt', $downloadFile, 'file')) && p() && e('test3'); //测试没有扩展名。 } catch(EndResponseException $e){}