From acfc7c4478b001f0afb3677df65fa35f404eabac Mon Sep 17 00:00:00 2001 From: printempw Date: Wed, 27 Jul 2016 18:52:46 +0800 Subject: [PATCH] make raw skin downloading more convenient --- app/Controllers/TextureController.php | 10 ++++++++++ config/routes.php | 2 ++ resources/views/skinlib/show.tpl | 6 ++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Controllers/TextureController.php b/app/Controllers/TextureController.php index 4b9b0a06..e695b9de 100644 --- a/app/Controllers/TextureController.php +++ b/app/Controllers/TextureController.php @@ -90,6 +90,16 @@ class TextureController extends BaseController $this->preview($tid, $size); } + public function raw($tid) { + if ($t = Texture::find($tid)) { + header('Content-Type: image/png'); + echo \Storage::fread(BASE_DIR."/textures/".$t->hash); + } else { + \Http::abort(404, '材质不存在'); + } + + } + private function checkCache($player_name) { // Cache friendly diff --git a/config/routes.php b/config/routes.php index 72a56056..f83f5022 100644 --- a/config/routes.php +++ b/config/routes.php @@ -123,5 +123,7 @@ Route::group(['middleware' => 'App\Middlewares\CheckPlayerExis Route::get('/avatar/{base64_email}.png', 'TextureController@avatar'); Route::get('/avatar/{size}/{base64_email}.png', 'TextureController@avatarWithSize')->where(['base64_email' => '[^\\/]+?']); +Route::get('/raw/{tid}.png', 'TextureController@raw'); + Route::get('/preview/{tid}.png', 'TextureController@preview'); Route::get('/preview/{size}/{tid}.png', 'TextureController@previewWithSize'); diff --git a/resources/views/skinlib/show.tpl b/resources/views/skinlib/show.tpl index e524d826..10737473 100644 --- a/resources/views/skinlib/show.tpl +++ b/resources/views/skinlib/show.tpl @@ -72,9 +72,11 @@ {{ $texture->type }} - Hash + Hash + + - {{ substr($texture->hash, 0, 15) }}... + {{ substr($texture->hash, 0, 15) }}...