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 @@