Add job for function upload record to csv

This commit is contained in:
paoloGuagnano
2024-02-23 16:00:48 +01:00
parent 4a042f01ac
commit e7b7f3f31c
11 changed files with 230 additions and 186 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Http\Requests\FileRequest;
use App\Http\Requests\StorefileRequest;
use App\Http\Requests\UpdatefileRequest;
use App\Jobs\ImportCSVFileJob;
use App\Models\file;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
@@ -14,28 +15,14 @@ class FileController extends Controller
{
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('file_temp', $filename);
// Leggi il contenuto del file CSV
$contenutoCSV = Storage::get('file_temp/new_file.csv');
// Analizza il contenuto CSV
$righeCSV = str_getcsv($contenutoCSV, "\n");
// Converte le righe CSV in un array associativo
$dati = [];
foreach ($righeCSV as $riga) {
$dati[] = str_getcsv($riga);
}
// Converte l'array in formato JSON
$json = json_encode($dati);
// Stampa il JSON
echo $json;
//get file path
$filepath = storage_path('app/public/file_temp/new_file.csv');
dispatch(new ImportCSVFileJob($filepath));
return redirect('/words');
}