Laravel-excel: تعذر اكتشاف ReaderType أو WriterType

تم إنشاؤها على ٢٠ مايو ٢٠١٩  ·  18تعليقات  ·  مصدر: Maatwebsite/Laravel-Excel

أحصل على هذه المشكلة عند استيراد ملف Excel على خادم الويب. لكن هذا يعمل بشكل جيد على الخادم المحلي.

Maatwebsite \ Excel \ استثناءات \ NoTypeDetectedException
تعذر اكتشاف ReaderType أو WriterType. تأكد من تمرير امتداد صالح لاسم الملف أو تمرير نوع صريح.

الرجاء المساعدة في حل هذه المشكلة.

more information needed

التعليق الأكثر فائدة

كمكمل:

إذا لم يعمل شيء. يجب عليك التحقق من سمة enctype الخاصة بنموذج HTML

هكذا: enctype="multipart/form-data"

أو

هكذا: <form action="/action" method="post" enctype="multipart/form-data">

يجب عليك تضمين نوع الإدخال هذا وإلا فسيؤدي ذلك إلى الخطأ التالي:

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. تأكد من تمرير امتداد صالح لاسم الملف أو تمرير نوع صريح.
أتلقى هذا الخطأ بعد القيام بالنشر على heroku

هل يمكن لأي شخص مساعدتي في حل هذه المشكلة `` لا يمكن اكتشاف ReaderType أو WriterType. تأكد من تمرير امتداد صالح لاسم الملف أو تمرير نوع صريح.
أتلقى هذا الخطأ بعد القيام بالنشر على heroku

يرجى إنشاء بطاقة جديدة مع ملء نموذج الإصدار. نموذج المشكلة مطلوب لنا حتى نتمكن من مساعدتك ومتاح لك تلقائيًا عند فتح إصدار جديد ، يرجى عدم إزالة محتويات قالب المشكلة.

يمكن لأي شخص مساعدتي في كيفية تحميل ملف 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">

يجب عليك تضمين نوع الإدخال هذا وإلا فسيؤدي ذلك إلى الخطأ التالي:

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 \ استثناءات \ 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 التقييمات