Update MediaController, add fallback for local files that are later stored on S3 but still are referenced in cached objects remotely
This commit is contained in:
parent
a1ab88a8ca
commit
4973cb4611
2 changed files with 13 additions and 8 deletions
|
@ -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');
|
||||
|
|
Loading…
Reference in a new issue