45 lines
1.1 KiB
PHP
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');
|
|
}
|
|
}
|