Files
Motula-Translate-Backend/app/Http/Controllers/FileController.php
2024-02-26 16:32:53 +01:00

45 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\FileRequest;
use App\Jobs\ImportCSVFileJob;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Storage;
class FileController extends Controller
{
public function __construct()
{
$this->middleware('auth');
$this->middleware('role:ADMIN');
}
public function uploadFile(FileRequest $request): RedirectResponse
{
//save file in storage/app/public/file_temp
$filename = 'new_file.'.$request->file("filetoinsert")->getClientOriginalExtension();
$request->file("filetoinsert")->storeAs($filename);
//get file path
$filepath = storage_path('app/public/new_file.csv');
dispatch(new ImportCSVFileJob($filepath));
return redirect('/words')->withSuccess('File saved successfully.');
}
public function insertFile()
{
return view("words.partials.upload-file");
}
public function delete(): RedirectResponse
{
Storage::delete('file_temp/new_file.txt');
return redirect('/words');
}
}