Browse Source

修复如果网站名称为中文的时候,CFW and Stash 不显示文件名或显示文件名乱码的问题

coldice945 2 years ago
parent
commit
25cae43430

+ 1 - 1
app/Http/Controllers/Client/Protocols/Clash.php

@@ -23,7 +23,7 @@ class Clash
         $appName = config('v2board.app_name', 'V2Board');
         header("subscription-userinfo: upload={$user['u']}; download={$user['d']}; total={$user['transfer_enable']}; expire={$user['expired_at']}");
         header('profile-update-interval: 24');
-        header("content-disposition:attachment;filename={$appName}");
+        header("content-disposition:attachment;filename*=UTF-8''".rawurlencode($appName));
         $defaultConfig = base_path() . '/resources/rules/default.clash.yaml';
         $customConfig = base_path() . '/resources/rules/custom.clash.yaml';
         if (\File::exists($customConfig)) {

+ 1 - 0
app/Http/Controllers/Client/Protocols/Stash.php

@@ -24,6 +24,7 @@ class Stash
         header("subscription-userinfo: upload={$user['u']}; download={$user['d']}; total={$user['transfer_enable']}; expire={$user['expired_at']}");
         header('profile-update-interval: 24');
         header("content-disposition: filename={$appName}");
+        header("content-disposition: filename*=UTF-8''".rawurlencode($appName));
         // 暂时使用clash配置文件,后续根据Stash更新情况更新
         $defaultConfig = base_path() . '/resources/rules/default.clash.yaml';
         $customConfig = base_path() . '/resources/rules/custom.clash.yaml';