Laravel-excel: Es konnte kein ReaderType oder WriterType erkannt werden

Erstellt am 20. Mai 2019  ·  18Kommentare  ·  Quelle: Maatwebsite/Laravel-Excel

Ich erhalte dieses Problem beim Excel-Dateiimport auf dem Webserver. Aber das funktioniert gut auf dem lokalen Server.

Maatwebsite\Excel\Exceptions\NoTypeDetectedException
Es konnte kein ReaderType oder WriterType erkannt werden. Stellen Sie sicher, dass Sie entweder eine gültige Erweiterung an den Dateinamen übergeben oder einen expliziten Typ übergeben.

Bitte helfen Sie mit, dieses Problem zu lösen.

more information needed

Hilfreichster Kommentar

Als Ergänzung:

Wenn nichts funktioniert. Sie sollten das Enctype- Attribut Ihres HTML-Formulars überprüfen

so: enctype="multipart/form-data"

oder

so: <form action="/action" method="post" enctype="multipart/form-data">

Sie müssen diesen Enctype einschließen oder es wird den folgenden Fehler verursachen:

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

Alle 18 Kommentare

Vielen Dank für das Einreichen des Tickets. Leider sind Ihre Angaben unvollständig. Wir müssen wissen, welche Version Sie verwenden und wie Sie sie reproduzieren können. Bitte fügen Sie Codebeispiele bei. Bevor wir es abholen können, überprüfen Sie bitte (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/ISSUE_TEMPLATE.md) und fügen Sie die fehlenden Informationen hinzu. Um die Bearbeitung dieses Tickets erheblich zu vereinfachen, überprüfen Sie bitte (https://laravel-excel.maatwebsite.nl/3.1/getting-started/contributing.html) und überprüfen Sie, ob Sie die Problemvorlage ausgefüllt haben korrekt. Dadurch können wir Ihr Ticket effizienter abholen. Probleme, die den Richtlinien korrekt entsprechen, haben Vorrang vor anderen Problemen.

Ich denke, die Ausnahmemeldung ist ziemlich klar. Stellen Sie sicher, dass es eine Erweiterung hat, oder seien Sie explizit und übergeben Sie einen Writer/Reader-Typ.

Fehler wurde behoben. Ich habe einen falschen Dateipfad zum Importieren gesendet.
Vielen Dank für Ihre Hilfe.

Ich freue mich zu hören, dass Ihr Problem gelöst wurde. Vielen Dank, dass Sie Laravel Excel verwenden!

Fehler wurde behoben. Ich habe einen falschen Dateipfad zum Importieren gesendet.
Vielen Dank für Ihre Hilfe.

Derselbe Fehler, mit dem ich auch konfrontiert bin, können Sie sagen, wo Sie den Dateipfad erwähnt haben. da ich getRealPath() verwende, um die Upload-Datei abzurufen und direkt den Excel::import zu verwenden

Fehler wurde behoben. Ich habe einen falschen Dateipfad zum Importieren gesendet.
Vielen Dank für Ihre Hilfe.

Derselbe Fehler, mit dem ich auch konfrontiert bin, können Sie sagen, wo Sie den Dateipfad erwähnt haben. da ich getRealPath() verwende, um die Upload-Datei abzurufen und direkt den Excel::import zu verwenden

Danke. Ich habe das Problem auf die gleiche Weise gelöst, wie Sie es erwähnt haben

kann mir jemand bei diesem Problem helfen `Es konnte kein ReaderType oder WriterType erkannt werden. Stellen Sie sicher, dass Sie entweder eine gültige Erweiterung an den Dateinamen übergeben oder einen expliziten Typ übergeben.
' Ich erhalte diesen Fehler, nachdem ich die Bereitstellung auf Heroku durchgeführt habe

kann mir jemand bei diesem Problem helfen `Es konnte kein ReaderType oder WriterType erkannt werden. Stellen Sie sicher, dass Sie entweder eine gültige Erweiterung an den Dateinamen übergeben oder einen expliziten Typ übergeben.
' Ich erhalte diesen Fehler, nachdem ich die Bereitstellung auf Heroku durchgeführt habe

Bitte erstellen Sie ein neues Ticket mit ausgefüllter Problemvorlage. Die Problemvorlage wird benötigt, damit wir Ihnen helfen können und steht Ihnen beim Öffnen eines neuen Problems automatisch zur Verfügung, bitte entfernen Sie nicht den Inhalt der Problemvorlage.

Kann mir jemand helfen, wie ich eine utf-8 csv-Datei hochladen kann? Ich stehe vor diesem Fehler: Maatwebsite \ Excel \ Exceptions \ NoTypeDetectedException
Es konnte kein ReaderType oder WriterType erkannt werden. Stellen Sie sicher, dass Sie entweder eine gültige Erweiterung an den Dateinamen übergeben oder einen expliziten Typ übergeben.

Derselbe Fehler, mit dem ich auch konfrontiert bin, können Sie sagen, wo Sie den Dateipfad erwähnt haben. da ich getRealPath() verwende, um die Upload-Datei abzurufen und direkt den Excel::import zu verwenden

Das wird nicht funktionieren, der echte Pfad hat keine Erweiterung, sodass wir den Lesertyp nicht erraten können. Übergeben Sie die hochgeladene Dateiinstanz oder den Reader-Typ explizit

Das Problem ist getRealPath()
Die Lösung habe ich hier gefunden:

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

anstatt
$path = $request->file('mcafile')->getRealPath();

Speichern Sie es in einem temp , erhalten Sie diesen Pfad und senden Sie ihn an die Importfunktion

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

Sie können einfach die hochgeladene Datei übergeben: \Excel::import(new UsersImport, $request->file('mcafile'))

Wenn Sie Cent OS verwenden, speichert es temporäre Dateien ohne Erweiterung. Benennen Sie also einfach eine temporäre Datei um und fügen Sie eine tmp -Erweiterung hinzu.

Mein Code wie unten funktioniert:

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

Als Ergänzung:

Wenn nichts funktioniert. Sie sollten das Enctype- Attribut Ihres HTML-Formulars überprüfen

so: enctype="multipart/form-data"

oder

so: <form action="/action" method="post" enctype="multipart/form-data">

Sie müssen diesen Enctype einschließen oder es wird den folgenden Fehler verursachen:

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

Es konnte kein ReaderType oder WriterType erkannt werden. Stellen Sie sicher, dass Sie entweder eine gültige Erweiterung an den Dateinamen übergeben oder einen expliziten Typ übergeben.

das ist mein Controller:

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

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

und das ist mein Formular:

<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>

Bitte sagen Sie mir, warum dieser Fehler angezeigt wird und ich 3.1 verwende

Hellow, ich habe ein Problem hier auf der oben genannten! Ich brauche bitte Ihre Hilfe.

Fehler wurde behoben. Ich habe einen falschen Dateipfad zum Importieren gesendet.
Vielen Dank für Ihre Hilfe.

kannst du hier teilen. was hast du getan?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen