Amir Alsaeed نشر 20 مارس 2021 أرسل تقرير نشر 20 مارس 2021 أرغب بإضافة زر على واجهة المستخدم تمكّنه من تحميل ملف معيّن دون إعادة التوجيه إلى أي واجهة أخرى. حاولت إضافة رابط ضمن الواجهة: <a href="/download">ابدأ التحميل</a> وقمت بربط المسار مع المتحكم الخاص بالتحميل: Route::get('/download', 'MainController@download'); وضمن المتحكم قمت بكتابة الكود التالي: public function download(){ $file="./download/testfile.pdf"; return Response::download($file); } ولكن عند الضغط على الزر يظهر الخطأ التالي: The file "/public/download/testfile.pdf" does not exist كيف أستطيع حل هذه المشكلة؟ اقتباس
1 سامح أشرف نشر 20 مارس 2021 أرسل تقرير نشر 20 مارس 2021 يمكنك أن تضيف header في التابع download بالشكل التالي: public function download(){ $headers = ['Content-Type' => 'application/pdf']; // ضع هنا مسار الملف الصحيح $file = asset("/download/testfile.pdf"); // filename.pdf هو اسم الملف عند التحميل return response()->download($file, 'filename.pdf', $headers); } بهذا الشكل سيتم تحميل ملف PDF بشكل صحيح. بالتوفيق. 1 اقتباس
0 Waleed Alfakiat نشر 20 مارس 2021 أرسل تقرير نشر 20 مارس 2021 (معدل) قم بتعديل مسار الملف $file="./download/testfile.pdf"; ليصبح بهذا الشكل $file= public_path() . "./download/file.pdf"; تم التعديل في 20 مارس 2021 بواسطة Alfakiat اقتباس
0 محمد سعيد35 نشر 20 مارس 2021 أرسل تقرير نشر 20 مارس 2021 مرحباً بك ، تأكد من وضع مسار الملف بشكل صحيح و انصحك بأستخدام الدالة asset() لتكون $file = asset("/download/testfile.pdf"); اقتباس
0 بلال زيادة نشر 21 مارس 2021 أرسل تقرير نشر 21 مارس 2021 يمكنك إجراء بعض التعديلات على دالة download لتصبح بهذا الشكل public function getDownload() { $file= public_path(). "/download/testfile.pdf"; $headers = array( 'Content-Type: application/pdf', ); return Response::download($file, 'filename.pdf', $headers); } أو يمكنك استخدام return response()->download(public_path('file_path/from_public_dir.pdf')); اقتباس
0 Waleed Alfakiat نشر 22 مارس 2021 أرسل تقرير نشر 22 مارس 2021 بتاريخ On 3/20/2021 at 14:14 قال Alfakiat: $file= public_path() . "./download/file.pdf"; باستخدام هذه الطريقة يصبح الوصول للملف وتحميله عن طريق المسار الكامل للملف فيصبح بهذا الشكل http://sample.com/download/file.pdf اقتباس
السؤال
Amir Alsaeed
أرغب بإضافة زر على واجهة المستخدم تمكّنه من تحميل ملف معيّن دون إعادة التوجيه إلى أي واجهة أخرى.
حاولت إضافة رابط ضمن الواجهة:
وقمت بربط المسار مع المتحكم الخاص بالتحميل:
Route::get('/download', 'MainController@download');
وضمن المتحكم قمت بكتابة الكود التالي:
public function download(){ $file="./download/testfile.pdf"; return Response::download($file); }
ولكن عند الضغط على الزر يظهر الخطأ التالي:
The file "/public/download/testfile.pdf" does not exist
كيف أستطيع حل هذه المشكلة؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.