laravel excel добавляет флэш-сообщение вместо NoTypeDetectedException

Я использую пакет laravel excel для загрузки и использования файлов Excel с laravel. Когда я загружаю файл в неподдерживаемом формате (например, файл .doc), я получаю это исключение.

Maatwebsite \ Excel \ Exceptions \ NoTypeDetectedException Нет сообщения

Но вместо этого мне нужно использовать такое флэш-сообщение.

flash("Sorry you are using a wrong format to upload files.")->error();
return Redirect::back();

Это мой код.

$file = $request->file('file');
Excel::import(new MyImport, $file);

Это мой файл импорта

<?php

namespace App\Imports;

use Maatwebsite\Excel\Concerns\ToModel;

class MyImport implements ToModel
{

    public function model(array $row)
    {
       ...
    }
}

person vimuth    schedule 20.04.2020    source источник


Ответы (1)


Импортируйте исключение в начало файла:

use Maatwebsite\Excel\Exceptions\NoTypeDetectedException;

И используйте блок try-catch, чтобы поймать исключение:

try {
    Excel::import(new MyImport, $file);
} catch (NoTypeDetectedException $e) {
    flash("Sorry you are using a wrong format to upload files.")->error();
    return Redirect::back();
}
person D Malan    schedule 20.04.2020