Laravel-excel: Не удалось обнаружить ReaderType или WriterType.

Созданный на 20 мая 2019  ·  18Комментарии  ·  Источник: Maatwebsite/Laravel-Excel

Я получаю эту проблему при импорте файла excel на веб-сервер. Но это отлично работает на локальном сервере.

Веб-сайт Maat\Excel\Исключения\NoTypeDetectedException
Не удалось обнаружить ни ReaderType, ни WriterType. Убедитесь, что вы либо передаете допустимое расширение имени файла, либо передаете явный тип.

Пожалуйста, помогите решить эту проблему.

more information needed

Самый полезный комментарий

В качестве дополнения:

Если ничего не работает. Вы должны проверить атрибут enctype HTML-формы

вот так: enctype="multipart/form-data"

или

вот так: <form action="/action" method="post" enctype="multipart/form-data">

вы должны включить этот enctype, иначе это вызовет следующую ошибку:

No ReaderType or WriterType could be detected. Make sure you either pass a valid extension to the filename or pass an explicit type

Все 18 Комментарий

Спасибо за отправку билета. К сожалению, предоставленная Вами информация является неполной. Нам нужно знать, какую версию вы используете и как ее воспроизвести. Пожалуйста, включите примеры кода. Прежде чем мы сможем его подобрать, проверьте (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/ISSUE_TEMPLATE.md) и добавьте недостающую информацию. Чтобы упростить обработку этого тикета, обязательно проверьте (https://laravel-excel.maatwebsite.nl/3.1/getting-started/contributing.html) и еще раз проверьте, заполнили ли вы шаблон тикета. правильно. Это позволит нам быстрее забрать ваш билет. Проблемы, которые правильно следуют рекомендациям, получат приоритет над другими проблемами.

Я думаю, что сообщение об исключении довольно ясно. Убедитесь, что у него есть расширение, или укажите явно и передайте тип записи/чтения.

Ошибка устранена. Я отправлял неверный путь к файлу для импорта.
Спасибо за помощь.

Рад слышать, что ваша проблема решена. Спасибо за использование Laravel Excel!

Ошибка устранена. Я отправлял неверный путь к файлу для импорта.
Спасибо за помощь.

С той же ошибкой, с которой я также сталкиваюсь, можете ли вы сказать, где вы упомянули путь к файлу. так как я использую getRealPath() для получения загружаемого файла и напрямую использую Excel::import

Ошибка устранена. Я отправлял неверный путь к файлу для импорта.
Спасибо за помощь.

С той же ошибкой, с которой я также сталкиваюсь, можете ли вы сказать, где вы упомянули путь к файлу. так как я использую getRealPath() для получения загружаемого файла и напрямую использую Excel::import

Спасибо .. я решил проблему так же, как вы упомянули

может ли кто-нибудь помочь мне с этой проблемой: «Не удалось обнаружить ни ReaderType, ни WriterType. Убедитесь, что вы либо передаете допустимое расширение имени файла, либо передаете явный тип.
'я получаю эту ошибку после развертывания на героку

может ли кто-нибудь помочь мне с этой проблемой: «Не удалось обнаружить ни ReaderType, ни WriterType. Убедитесь, что вы либо передаете допустимое расширение имени файла, либо передаете явный тип.
'я получаю эту ошибку после развертывания на героку

Пожалуйста, создайте новый тикет с заполненным шаблоном задачи. Шаблон задачи необходим для того, чтобы мы могли вам помочь, и он автоматически доступен для вас при открытии новой задачи. Пожалуйста, не удаляйте содержимое шаблона задачи.

может ли кто-нибудь помочь мне, как загрузить файл utf-8 csv. я сталкиваюсь с такой ошибкой: Maatwebsite \ Excel \ Exceptions \ NoTypeDetectedException
Не удалось обнаружить ни ReaderType, ни WriterType. Убедитесь, что вы либо передаете допустимое расширение имени файла, либо передаете явный тип.

С той же ошибкой, с которой я также сталкиваюсь, можете ли вы сказать, где вы упомянули путь к файлу. так как я использую getRealPath() для получения загружаемого файла и напрямую использую Excel::import

Это не сработает, реальный путь не имеет расширения, поэтому мы не можем угадать тип считывателя. Передайте экземпляр загруженного файла или тип считывателя явно

Проблема в getRealPath()
Я нашел решение здесь:

https://stackoverflow.com/a/57106453/12226621

вместо
$path = $request->file('mcafile')->getRealPath();

сохраните его во временном файле, получите этот путь и отправьте его в функцию импорта

$path1 = $request->file('mcafile')->store('temp'); 
$path=storage_path('app').'/'.$path1;  
$data = \Excel::import(new UsersImport,$path);

Вы можете просто передать загруженный файл: \Excel::import(new UsersImport, $request->file('mcafile'))

Если вы используете Cent OS, он сохраняет временный файл без расширения. Так что просто переименуйте временный файл и добавьте расширение tmp .

Мой код, как показано ниже, работает:

$tmpfname = request()->file('userfile')->getPathName();
rename($tmpfname, $tmpfname .= '.tmp');

В качестве дополнения:

Если ничего не работает. Вы должны проверить атрибут enctype HTML-формы

вот так: enctype="multipart/form-data"

или

вот так: <form action="/action" method="post" enctype="multipart/form-data">

вы должны включить этот enctype, иначе это вызовет следующую ошибку:

No ReaderType or WriterType could be detected. Make sure you either pass a valid extension to the filename or pass an explicit type

Maatwebsite\Excel\Exceptions\NoTypeDetectedException

Не удалось обнаружить ни ReaderType, ни WriterType. Убедитесь, что вы либо передаете допустимое расширение имени файла, либо передаете явный тип.

это мой контроллер:

{
        Excel::import(new MedicineImport(Auth::user()->id), request()->file('select_file'));

        return redirect('subscriber/medicine/imp')->with('success', 'All good!');
    }

и это моя форма:

<form method="get" enctype="multipart/form-data" action="{{ url('subscriber/medicine/imp/impEx') }}">
    {{ csrf_field() }}

<label>Select File for Upload</label>
        <input type="file" name="select_file" />
        <input type="submit" name="upload" class="btn btn-primary" value="Upload">
   </form>

пожалуйста, скажите мне, почему он показывает эту ошибку, и я использую 3.1

Привет, у меня есть проблема здесь на выше! мне нужна ваша помощь, пожалуйста.

Ошибка устранена. Я отправлял неверный путь к файлу для импорта.
Спасибо за помощь.

можешь поделиться здесь. что ты наделал?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги