kopia lustrzana https://github.com/pixelfed/pixelfed
				
				
				
			Update MediaController, add fallback for local files that are later stored on S3 but still are referenced in cached objects remotely
							rodzic
							
								
									a1ab88a8ca
								
							
						
					
					
						commit
						4973cb4611
					
				|  | @ -3,18 +3,10 @@ | |||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use Illuminate\Http\Request; | ||||
| use Auth, Storage, URL; | ||||
| use App\Media; | ||||
| use Image as Intervention; | ||||
| use App\Jobs\ImageOptimizePipeline\ImageOptimize; | ||||
| 
 | ||||
| class MediaController extends Controller | ||||
| { | ||||
| 	public function __construct() | ||||
| 	{ | ||||
| 		$this->middleware('auth'); | ||||
| 	} | ||||
| 
 | ||||
| 	public function index(Request $request) | ||||
| 	{ | ||||
| 		//return view('settings.drive.index');
 | ||||
|  | @ -24,4 +16,16 @@ class MediaController extends Controller | |||
| 	{ | ||||
|         abort(400, 'Endpoint deprecated'); | ||||
| 	}	 | ||||
| 
 | ||||
| 	public function fallbackRedirect(Request $request, $pid, $mhash, $uhash, $f) | ||||
| 	{ | ||||
| 		abort_if(!config_cache('pixelfed.cloud_storage'), 404); | ||||
| 		$path = 'public/m/_v2/' . $pid . '/' . $mhash . '/' . $uhash . '/' . $f; | ||||
| 		$media = Media::whereProfileId($pid) | ||||
| 			->whereMediaPath($path) | ||||
| 			->whereNotNull('cdn_url') | ||||
| 			->firstOrFail(); | ||||
| 
 | ||||
| 		return redirect()->away($media->cdn_url); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -616,6 +616,7 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact | |||
| 	Route::get('auth/invite/a/{code}', 'AdminInviteController@index'); | ||||
| 	Route::post('api/v1.1/auth/invite/admin/re', 'AdminInviteController@apiRegister')->middleware('throttle:5,1440'); | ||||
| 
 | ||||
| 	Route::get('storage/m/_v2/{pid}/{mhash}/{uhash}/{f}', 'MediaController@fallbackRedirect'); | ||||
| 	Route::get('stories/{username}', 'ProfileController@stories'); | ||||
| 	Route::get('p/{id}', 'StatusController@shortcodeRedirect'); | ||||
| 	Route::get('c/{collection}', 'CollectionController@show'); | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Daniel Supernault
						Daniel Supernault